--- loncom/interface/londocs.pm 2012/12/13 00:51:34 1.484.2.12 +++ loncom/interface/londocs.pm 2012/10/31 04:59:11 1.499 @@ -1,7 +1,7 @@ # The LearningOnline Network # Documents # -# $Id: londocs.pm,v 1.484.2.12 2012/12/13 00:51:34 raeburn Exp $ +# $Id: londocs.pm,v 1.499 2012/10/31 04:59:11 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -537,7 +537,7 @@ sub docs_change_log { ':'.$docslog{$id}{'exe_udom'}.'</tt>'. $send_msg_link.'</td><td>'. $docslog{$id}{'logentry'}{'folder'}.'</td><td>'); - my $is_supp = 0; + my $is_supp = 0; if ($docslog{$id}{'logentry'}{'currentfolder'} =~ /^supplemental/) { $is_supp = 1; } @@ -560,7 +560,7 @@ sub docs_change_log { if ($is_supp) { $shown = &Apache::loncommon::parse_supplemental_title($shown); } - $r->print('<li>'.$shown.'</li>'); + $r->print('<li>'.$shown.'</li>'); } } $r->print('</ul>'); @@ -711,7 +711,7 @@ sub print_paste_buffer { $canpaste = &supp_pasteable($env{'docs.markedcopy_url'}); unless ($canpaste) { $nopaste = &mt('Paste into Supplemental Content unavailable for this type of content.'); - } + } } else { $canpaste = 1; } @@ -725,11 +725,11 @@ sub print_paste_buffer { $othercourse = 1; if ($env{"user.priv.cm./$srcdom/$srcnum"} =~ /\Q:mdc&F\E/) { if ($canpaste) { - $othercrs = '<br />'.&mt('(from another course).'); + $othercrs = '<br />'.&mt('(from another course).'); } } else { $canpaste = 0; - $nopaste = &mt('Paste from another course unavailable.') + $nopaste = &mt('Paste from another course unavailable.') } } if ($rem =~ m{^(default|supplemental)_?(\d*)\.(?:page|sequence)$}) { @@ -747,18 +747,18 @@ sub print_paste_buffer { .'<legend>'.&mt('Clipboard').'</legend>'); my ($type,$buffer); if ($is_external) { - $type = &mt('External Resource'); - $buffer = $type.': '. - &LONCAPA::map::qtescape($env{'docs.markedcopy_title'}).' ('. + $type = &mt('External Resource'); + $buffer = $type.': '. + &LONCAPA::map::qtescape($env{'docs.markedcopy_title'}).' ('. &LONCAPA::map::qtescape($env{'docs.markedcopy_url'}).')'; } else { - my $icon = &Apache::loncommon::icon($extension); - if ($extension eq 'sequence' && - $env{'docs.markedcopy_url'} =~ m{/default_\d+\.sequence$ }x) { - $icon = &Apache::loncommon::lonhttpdurl($r->dir_config('lonIconsURL')); - $icon .= '/navmap.folder.closed.gif'; - } - $icon = '<img src="'.$icon.'" alt="" class="LC_icon" />'; + my $icon = &Apache::loncommon::icon($extension); + if ($extension eq 'sequence' && + $env{'docs.markedcopy_url'} =~ m{/default_\d+\.sequence$ }x) { + $icon = &Apache::loncommon::lonhttpdurl($r->dir_config('lonIconsURL')); + $icon .= '/navmap.folder.closed.gif'; + } + $icon = '<img src="'.$icon.'" alt="" class="LC_icon" />'; $buffer = $icon.$type.': '. &Apache::loncommon::parse_supplemental_title(&LONCAPA::map::qtescape($env{'docs.markedcopy_title'})); } if ($canpaste) { @@ -772,7 +772,7 @@ sub print_paste_buffer { '<label>'. '<input type="radio" name="docs.markedcopy_options" value="new" checked="checked" />'. &mt('Copy to new folder').'</label>'.(' ' x2). - '<label>'. + '<label>'. '<input type="radio" name="docs.markedcopy_options" value="move" />'. &mt('Move old folder').'</label><br />'); if ($env{'docs.markedcopy_nested'}) { @@ -784,7 +784,7 @@ sub print_paste_buffer { my %depths = ( $lastdir => 0, ); - my (%display,%deps); + my (%display,%deps); for (my $i=0; $i<@pastemaps; $i++) { ($lastdir,my $subfolderstr) = split(/\:/,$pastemaps[$i]); my ($namedir,$esctitlestr) = split(/\:/,$titles[$i]); @@ -796,7 +796,7 @@ sub print_paste_buffer { my $indent = (' ' x $offset); for (my $j=0; $j<@subfolders; $j++) { $depths{$subfolders[$j]} = $depth; - $display{$subfolders[$j]} = + $display{$subfolders[$j]} = '<tr><td>'.$indent.$subfoldertitles[$j].' </td>'. '<td><label>'. '<input type="radio" name="docs.markedcopy_'.$subfolders[$j].'" value="new" checked="checked" />'.&mt('Copy to new').'</label>'.(' ' x2). @@ -814,12 +814,12 @@ sub print_paste_buffer { } $r->print('<br /><input type="submit" name="pastemarked" value="'.&mt('Paste').'" />'.$othercrs); if ($container eq 'page') { - $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'},'<>&"').'" /> + $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(' + $r->print(' <input type="hidden" name="folderpath" value="'.&HTML::Entities::encode($env{'form.folderpath'},'<>&"').'" /> '); } @@ -901,22 +901,22 @@ sub do_paste_from_buffer { my ($is_map,$srcdom,$srcnum,$prefixchg,%before,%after,%mapchanges,%tomove); if ($url=~/\.(page|sequence)$/) { - $is_map = 1; + $is_map = 1; } if ($url =~ m{^/uploaded/($match_domain)/($match_courseid)/([^/]+)}) { $srcdom = $1; $srcnum = $2; my $oldprefix = $3; # When paste buffer was populated using an active role in a different course -# check for mdc privilege in the course from which the resource was pasted +# check for mdc privilege in the course from which the resource was pasted if (($srcdom ne $coursedom) || ($srcnum ne $coursenum)) { unless ($env{"user.priv.cm./$srcdom/$srcnum"} =~ /\Q:mdc&F\E/) { return (&mt('Paste failed: Item is from a different course which you do not have rights to edit.')); } } -# When pasting content from Main Content to Supplemental Content and vice versa +# When pasting content from Main Content to Supplemental Content and vice versa # URLs will contain different paths (which depend on whether pasted item is -# a folder/page or a document. +# a folder/page or a document. if (($folder =~ /^supplemental/) && (($oldprefix =~ /^default/) || ($oldprefix eq 'docs'))) { $prefixchg = 1; %before = ( map => 'default', @@ -960,7 +960,7 @@ sub do_paste_from_buffer { if ($folder =~ /^default/) { my $lastchange = &Apache::lonnet::get_coursechange($coursedom,$coursenum); if ($lastchange > $env{'request.course.tied'}) { - &reinit_role($coursedom,$coursenum,$env{"course.$env{'request.course.id'}.home"}); + &reinit_role($coursedom,$coursenum,$env{"course.$env{'request.course.id'}.home"}); } } # If pasting a map, check if map contains other maps @@ -978,7 +978,7 @@ sub do_paste_from_buffer { if ($url=~ m{^/uploaded/}) { my $newurl; unless ($env{'form.docs.markedcopy_options'} eq 'move') { - ($newurl,my $error) = + ($newurl,my $error) = &get_newmap_url($url,$folder,$prefixchg,$coursedom,$coursenum, $srcdom,$srcnum,\$title,\%allmaps,\%newurls); if ($error) { @@ -1005,7 +1005,7 @@ sub do_paste_from_buffer { } elsif ($env{'docs.markedcopy_nested'}) { &url_paste_fixups($url,$folder,$prefixchg,$coursedom,$coursenum,\%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 @@ -1019,21 +1019,21 @@ 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); + 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; $title=&mt('Copy of').' '.$title; } else { return (&mt('Paste failed: An error occurred when copying the simple page.')); } - } + } } $title = &LONCAPA::map::qtunescape($title); my $ext='false'; @@ -1076,7 +1076,7 @@ sub do_paste_from_buffer { } } } -# Apply any changes to maps, or copy dependencies for uploaded HTML pages +# Apply any changes to maps, or copy dependencies for uploaded HTML pages my ($result,$save_err); $result = &apply_fixups($folder,$is_map,$prefixchg,$coursedom,$coursenum,$oldurl, @@ -1084,7 +1084,7 @@ sub do_paste_from_buffer { \%copies,\%dbcopies,\%zombies,\%params,\%docmoves, \%mapmoves,\%newsubdir,$errors,\%before,\%after); if ($result eq 'ok') { - if ($is_map) { + if ($is_map) { my ($errtext,$fatal) = &mapread($coursenum,$coursedom, $folder.'.'.$container); return $errtext if ($fatal); @@ -1108,17 +1108,17 @@ sub do_paste_from_buffer { $env{'user.domain'}.'___&&&___'.$title; } } - $LONCAPA::map::resources[$newidx]= $title.':'.$url.':'.$ext.':normal:res'; + $LONCAPA::map::resources[$newidx]= $title.':'.$url.':'.$ext.':normal:res'; push(@LONCAPA::map::order, $newidx); # Store the result - my ($errtext,$fatal) = + my ($errtext,$fatal) = &storemap($coursenum,$coursedom,$folder.'.'.$container,1); if ($fatal) { $save_err = $errtext; } } - + if ($env{'form.docs.markedcopy_options'} eq 'move') { &Apache::lonnet::delenv('docs.markedcopy'); &Apache::lonnet::delenv('docs.markedcopy_nested'); @@ -1242,7 +1242,7 @@ sub contained_map_check { $titles->{$url}{$token->[2]->{'id'}} = $token->[2]->{'title'}; } else { if ($allmaps->{$ressrc}) { - $removefrommap->{$url}{$token->[2]->{'id'}} = $ressrc; + $removefrommap->{$url}{$token->[2]->{'id'}} = $ressrc; } elsif (ref($addedmaps->{$ressrc}) eq 'ARRAY') { $removefrommap->{$url}{$token->[2]->{'id'}} = $ressrc; } else { @@ -1257,7 +1257,7 @@ sub contained_map_check { if (ref($removeparam->{$url}{$token->[2]->{'to'}}) eq 'ARRAY') { push(@{$removeparam->{$url}{$token->[2]->{'to'}}},$token->[2]->{'name'}); } else { - $removeparam->{$url}{$token->[2]->{'to'}} = [$token->[2]->{'name'}]; + $removeparam->{$url}{$token->[2]->{'to'}} = [$token->[2]->{'name'}]; } } } @@ -1309,7 +1309,7 @@ sub url_paste_fixups { } next if ($token->[2]->{'type'} eq 'external'); if ($token->[2]->{'type'} eq 'zombie') { - next if ($skip); + next if ($skip); $zombies->{$oldurl}{$ressrc} = $id; $changed = 1; } elsif ($ressrc =~ m{^/uploaded/($match_domain)/($match_courseid)/(.+)$}) { @@ -1341,7 +1341,7 @@ sub url_paste_fixups { } if (($srcdom ne $cdom) || ($srcnum ne $cnum) || ($prefixchg) || ($mapchanges->{$oldurl}) || (($newurl ne '') && ($newurl ne $oldurl))) { - + if ($rem =~ /^(default|supplemental)(_?\d*).(sequence|page)$/) { $rewrites->{$oldurl}{$ressrc} = $id; $mapchanges->{$ressrc} = 1; @@ -1359,7 +1359,7 @@ sub url_paste_fixups { } } } elsif ($ressrc =~ m{^/adm/($match_domain)/($match_courseid)/(.+)$}) { - next if ($skip); + next if ($skip); my $srcdom = $1; my $srcnum = $2; if (($srcdom ne $cdom) || ($srcnum ne $cnum)) { @@ -1379,7 +1379,7 @@ sub url_paste_fixups { } } elsif ($token->[1] eq 'param') { next if ($skip); - my $to = $token->[2]->{'to'}; + my $to = $token->[2]->{'to'}; if ($to ne '') { if (ref($params->{$oldurl}{$to}) eq 'ARRAY') { push(@{$params->{$oldurl}{$to}},$token->[2]->{'name'}); @@ -1417,7 +1417,7 @@ sub apply_fixups { } if (@allcopies > 0) { foreach my $item (@allcopies) { - my ($relpath,$oldsubdir,$fname) = + my ($relpath,$oldsubdir,$fname) = ($item =~ m{^(/uploaded/$match_domain/$match_courseid/(?:docs|supplemental)/(default|\d+)/.*/)([^/]+)$}); if ($fname ne '') { my $content = &Apache::lonnet::getfile($item); @@ -1436,7 +1436,7 @@ sub apply_fixups { } } ©_dependencies($item,$storefn,$relpath,$errors,\$content); - my $copyurl = + my $copyurl = &Apache::lonclonecourse::writefile($env{'request.course.id'}, $storefn.$fname,$content); if ($copyurl eq '/adm/notfound.html') { @@ -1582,7 +1582,7 @@ sub apply_fixups { } foreach my $idx (keys(%remparam)) { if (ref($remparam{$idx}) eq 'ARRAY') { - foreach my $name (@{$remparam{$idx}}) { + foreach my $name (@{$remparam{$idx}}) { &LONCAPA::map::delparameter($idx,'parameter_'.$name); } } @@ -1743,7 +1743,7 @@ sub handle_edit_cmd { sub editor { my ($r,$coursenum,$coursedom,$folder,$allowed,$upload_output,$crstype, - $supplementalflag,$orderhash,$iconpath,$uploadtag)=@_; + $supplementalflag,$orderhash,$iconpath)=@_; my $container= ($env{'form.pagepath'}) ? 'page' : 'sequence'; @@ -1795,7 +1795,7 @@ sub editor { &do_paste_from_buffer($coursenum,$coursedom,$folder,$container, \%paste_errors); if ($save_error ne '') { - return $save_error; + return $save_error; } if ($paste_res ne 'ok') { $r->print('<p><span class="LC_error">'.$paste_res.'</span></p>'); @@ -1899,8 +1899,7 @@ sub editor { unless ($name) { $name=(split(/\//,$url))[-1]; } unless ($name) { $idx++; next; } $output .= &entryline($idx,$name,$url,$folder,$allowed,$res, - $coursenum,$coursedom,$crstype, - $uploadtag,$supplementalflag); + $coursenum,$crstype); $idx++; $shown++; } @@ -2117,8 +2116,7 @@ sub is_supplemental_title { # --------------------------------------------------------------- An entry line sub entryline { - my ($index,$title,$url,$folder,$allowed,$residx,$coursenum,$coursedom, - $crstype,$uploadtag,$supplementalflag)=@_; + my ($index,$title,$url,$folder,$allowed,$residx,$coursenum,$crstype)=@_; my ($foldertitle,$pagetitle,$renametitle); if (&is_supplemental_title($title)) { ($title,$foldertitle,$renametitle) = &Apache::loncommon::parse_supplemental_title($title); @@ -2132,6 +2130,7 @@ sub entryline { my $orderidx=$LONCAPA::map::order[$index]; + $renametitle=~s/\\/\\\\/g; $renametitle=~s/\"\;/\\\"/g; $renametitle=~s/ /%20/g; @@ -2150,18 +2149,8 @@ sub entryline { $type = $container = 'page'; $esc_path=&escape($env{'form.pagepath'}); $path = &HTML::Entities::encode($env{'form.pagepath'},'<>&"'); + $symb=&escape($env{'form.pagesymb'}); } - if (!$supplementalflag && $residx) { - my $currurl = $url; - $currurl =~ s{^http(|s)(:|:)//}{/adm/wrapper/ext/}; - 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 %lt; if ($allowed) { my $incindex=$index+1; my $selectbox=''; @@ -2184,27 +2173,20 @@ sub entryline { } $selectbox.='</select>'; } - %lt=&Apache::lonlocal::texthash( + my %lt=&Apache::lonlocal::texthash( 'up' => 'Move Up', 'dw' => 'Move Down', 'rm' => 'Remove', 'ct' => 'Cut', 'rn' => 'Rename', - 'cp' => 'Copy', - 'ex' => 'External Resource', - 'ed' => 'Edit', - 'pr' => 'Preview', - 'sv' => 'Save', - 'ul' => 'URL', - 'ti' => 'Title', - ); + 'cp' => 'Copy'); my $nocopy=0; my $nocut=0; my $noremove=0; if ($url=~ m{^/res/.+\.(page|sequence)$}) { - # no copy for published maps - $nocopy=1; - } + # no copy for published maps + $nocopy=1; + } if ($url=~/^\/res\/lib\/templates\//) { $nocopy=1; $nocut=1; @@ -2303,12 +2285,12 @@ END <td> <div class="LC_docs_entry_move"> <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> </div> <div class="LC_docs_entry_move"> <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> </div> </td> @@ -2359,38 +2341,44 @@ END } } - my $editlink; my $orig_url = $url; $orig_url=~s{http(:|:)//https(:|:)//}{https$2//}; my $external = ($url=~s{^http(|s)(:|:)//}{/adm/wrapper/ext/}); - if (!$supplementalflag && $residx && $symb) { - if ($container eq 'page') { - $url=&Apache::lonnet::clutter((&Apache::lonnet::decode_symb($symb))[2]); - $url.=(($url=~/\?/)?'&':'?').'symb='.&escape($symb); - } - if ((!$isfolder) && (!$ispage)) { - (undef,undef,$url)=&Apache::lonnet::decode_symb($symb); - $url=&Apache::lonnet::clutter($url); - if ($url=~/^\/*uploaded\//) { - $url=~/\.(\w+)$/; - my $embstyle=&Apache::loncommon::fileembstyle($1); - if (($embstyle eq 'img') || ($embstyle eq 'emb')) { - $url='/adm/wrapper'.$url; - } elsif ($embstyle eq 'ssi') { - #do nothing with these - } elsif ($url!~/\.(sequence|page)$/) { - $url='/adm/coursedocs/showdoc'.$url; - } - } elsif ($url=~m|^/ext/|) { - $url='/adm/wrapper'.$url; - $external = 1; - } - if (&Apache::lonnet::symbverify($symb,$url)) { - $url.=(($url=~/\?/)?'&':'?').'symb='.&escape($symb); - } else { - $url=''; - } + if ((!$isfolder) && ($residx) && ($folder!~/supplemental/) && (!$ispage)) { + my $symb=&Apache::lonnet::symbclean( + &Apache::lonnet::declutter('uploaded/'. + $env{'course.'.$env{'request.course.id'}.'.domain'}.'/'. + $env{'course.'.$env{'request.course.id'}.'.num'}.'/'.$folder. + '.sequence'). + '___'.$residx.'___'. + &Apache::lonnet::declutter($url)); + (undef,undef,$url)=&Apache::lonnet::decode_symb($symb); + $url=&Apache::lonnet::clutter($url); + if ($url=~/^\/*uploaded\//) { + $url=~/\.(\w+)$/; + my $embstyle=&Apache::loncommon::fileembstyle($1); + if (($embstyle eq 'img') || ($embstyle eq 'emb')) { + $url='/adm/wrapper'.$url; + } elsif ($embstyle eq 'ssi') { + #do nothing with these + } elsif ($url!~/\.(sequence|page)$/) { + $url='/adm/coursedocs/showdoc'.$url; + } + } elsif ($url=~m|^/ext/|) { + $url='/adm/wrapper'.$url; + $external = 1; + } + 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); if ($isfolder || $extension eq 'sequence') { @@ -2436,50 +2424,23 @@ $form_common.' my $folderpath=$env{'form.folderpath'}; if ($folderpath) { $pagepath = $folderpath.'&' }; $pagepath.=$pagearg.'&'.$pagename; + my $symb=$env{'form.pagesymb'}; + if (!$symb) { + my $path='uploaded/'. + $env{'course.'.$env{'request.course.id'}.'.domain'}.'/'. + $env{'course.'.$env{'request.course.id'}.'.num'}.'/'; + $symb=&Apache::lonnet::encode_symb($path.$folder.'.sequence', + $residx, + $path.$pagearg.'.page'); + } $url.='pagepath='.&escape($pagepath). '&pagesymb='.&escape($symb); } - if ($allowed) { - my $fileloc = - &Apache::lonnet::declutter(&Apache::lonnet::filelocation('',$orig_url)); - - if ($external) { - $editlink = <<"EXTLNK"; - - <a class="LC_docs_ext_edit" href="javascript:editext('$residx');"> - $lt{'ed'}</a> - <form action="/adm/coursedocs" method="post" name="editext_$residx"> - <fieldset id="uploadext$residx" style="display: none;" /> - <input type="hidden" name="active" value="aa" /> - <span class="LC_nobreak"> - <span class="LC_docs_ext_edit">$lt{'ul'} </span> - <input type="text" size="40" name="exturl" id="exturl_$residx" value="$orig_url" /> - <a class="LC_docs_ext_edit" href="javascript:extUrlPreview('exturl_$residx');">$lt{'pr'}</a></span> - </span><br /> - <span class="LC_nobreak"> - <span class="LC_docs_ext_edit">$lt{'ti'} </span> - <input type="text" size="40" name="exttitle" value="$title" /> - $uploadtag - <input type="hidden" name="importdetail" value="" /> - <input type="button" value="$lt{'sv'}" onclick="javascript:setExternal(this.form,'$residx')" /> - </span> - </fieldset> - </form> -EXTLNK - } else { - my ($cfile,$home,$switchserver,$uploaded) = - &Apache::lonnet::can_edit_resource($fileloc,$coursenum,$coursedom); - if (($cfile ne '') && ($symb ne '')) { - my $jscall = - &Apache::lonhtmlcommon::jump_to_editres($cfile,$home, - $switchserver, - $uploaded,$symb); - if ($jscall) { - $editlink = ' <a class="LC_docs_ext_edit" href="javascript:'. - $jscall.'" >'.&mt('Edit').'</a>'; - } - } - } + if (($external) && ($allowed)) { + my $form = ($folder =~ /^default/)? 'newext' : 'supnewext'; + $external = ' <a class="LC_docs_ext_edit" href="javascript:edittext(\''.$form.'\',\''.$residx.'\',\''.&escape($title).'\',\''.&escape($orig_url).'\');" >'.&mt('Edit').'</a>'; + } else { + undef($external); } my $reinit; if ($crstype eq 'Community') { @@ -2505,7 +2466,7 @@ EXTLNK } else { $line.=$title.' <span class="LC_docs_reinit_warn">'.$reinit.'</span>'; } - $line.=$editlink."</td>"; + $line.=$external."</td>"; $rand_pick_text = ' ' if ($rand_pick_text eq ''); $rand_order_text = ' ' if ($rand_order_text eq ''); if (($allowed) && ($folder!~/^supplemental/)) { @@ -2902,7 +2863,7 @@ ENDHEADERS '</b>'); foreach my $key (sort(keys(%changes))) { #excludes not versionable problems from resource version history: - next unless ($changes{$key}>$starttime && $key !~ /^\/res\/lib\/templates/); + if ($changes{$key}>$starttime && $key !~ /^\/res\/lib\/templates/) { my ($root,$extension)=($key=~/^(.*)\.(\w+)$/); my $currentversion=&Apache::lonnet::getversion($key); if ($currentversion<0) { @@ -3068,9 +3029,9 @@ sub init_breadcrumbs { sub create_list_elements { my @formarr = @_; my $list = ''; - foreach my $button (@formarr){ - foreach my $picture (keys(%{$button})) { - $list .= &Apache::lonhtmlcommon::htmltag('li', $picture.' '.$button->{$picture}, {class => 'LC_menubuttons_inline_text', id => ''}); + for my $button (@formarr){ + for my $picture(keys %$button) { + $list .= &Apache::lonhtmlcommon::htmltag('li', $picture.' '.$button->{$picture}, {class => 'LC_menubuttons_inline_text'}); } } return $list; @@ -3093,6 +3054,7 @@ sub startContentScreen { if (($mode eq 'navmaps') || ($mode eq 'supplemental')) { $output .= '<li'.(($mode eq 'navmaps')?' class="active"':'').'><a href="/adm/navmaps"><b> '.&mt('Content Overview').' </b></a></li>'."\n"; $output .= '<li'.(($mode eq 'coursesearch')?' class="active"':'').'><a href="/adm/searchcourse"><b> '.&mt('Content Search').' </b></a></li>'."\n"; + $output .= '<li'.(($mode eq 'courseindex')?' class="active"':'').'><a href="/adm/indexcourse"><b> '.&mt('Content Index').' </b></a></li>'."\n"; $output .= '<li '.(($mode eq 'suppdocs')?' class="active"':'').'><a href="/adm/supplemental"><b>'.&mt('Supplemental Content').'</b></a></li>'; } else { $output .= '<li '.(($mode eq 'docs')?' class="active"':'').' id="tabbededitor"><a href="/adm/coursedocs?forcestandard=1"><b> '.&mt('Content Editor').' </b></a></li>'."\n"; @@ -3139,8 +3101,7 @@ sub handler { 'Adding_External_Resource','Navigate_Content', 'Adding_Folders','Docs_Overview', 'Load_Map', 'Supplemental','Score_Upload_Form','Adding_Pages', - 'Importing_LON-CAPA_Resource','Importing_IMS_Course', - 'Uploading_From_Harddrive', + 'Importing_LON-CAPA_Resource','Uploading_From_Harddrive', 'Check_Resource_Versions','Verify_Content') { $help{$topic}=&Apache::loncommon::help_open_topic('Docs_'.$topic); } @@ -3432,10 +3393,8 @@ sub handler { }; } 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 $script = '<script type="text/javascript">'."\n" @@ -3528,11 +3487,10 @@ sub handler { 'upls' => 'Upload a new supplemental '.lc($crstype).' document', 'impp' => 'Import a document', 'copm' => 'All documents out of a published map into this folder', - 'upfi' => 'Upload File', - 'upld' => 'Import Content', + 'upld' => 'Import Document', 'srch' => 'Search', 'impo' => 'Import', - 'lnks' => 'Import from Stored Links', + 'lnks' => 'Import from Stored Links', 'selm' => 'Select Map', 'load' => 'Load Map', 'reco' => 'Recover Deleted Documents', @@ -3552,14 +3510,9 @@ sub handler { 'abou' => 'Personal Information Page for a User', 'imsf' => 'IMS Import', 'imsl' => 'Import IMS package', - 'cms' => 'Origin of IMS package', 'file' => 'File', - 'se' => 'Select', 'title' => 'Title', 'comment' => 'Comment', - 'url' => 'URL', - 'prev' => 'Preview', - 'lnk' => 'Add Link', 'parse' => 'Upload embedded images/multimedia files if HTML file', 'nd' => 'Upload Document', 'pm' => 'Published Map', @@ -3580,41 +3533,10 @@ FIUP <input type="checkbox" name="parserflag" checked="checked" /> $lt{'parse'} </label> 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 $fileuploadform=(<<FUFORM); - <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> + + my $fileuploada = "<br clear='all' /><input type='submit' value='".$lt{'upld'}."' /> $help{'Uploading_From_Harddrive'}"; + my $fileuploadform=(<<FUFORM); + <form name="uploaddocument" action="/adm/coursedocs" method="post" enctype="multipart/form-data"> <input type="hidden" name="active" value="aa" /> $fileupload <br /> @@ -3626,11 +3548,8 @@ IMSFORM <span class="LC_nobreak" style="float:left"> $checkbox </span> - <br clear="all" /> - <input type="submit" value="$lt{'upld'}" /> - </fieldset> - </form> FUFORM + $fileuploadform .= $fileuploada.'</form>'; my $simpleeditdefaultform=(<<SEDFFORM); <form action="/adm/coursedocs" method="post" name="simpleeditdefault"> @@ -3639,7 +3558,7 @@ SEDFFORM my @simpleeditdefaultforma = ( { '<img class="LC_noBorder LC_middle" src="/res/adm/pages/src.png" alt="'.$lt{srch}.'" onclick="javascript:groupsearch()" />' => "$uploadtag<a class='LC_menubuttons_link' href='javascript:groupsearch()'>$lt{'srch'}</a>" }, { '<img class="LC_noBorder LC_middle" src="/res/adm/pages/res.png" alt="'.$lt{impo}.'" onclick="javascript:groupimport();"/>' => "<a class='LC_menubuttons_link' href='javascript:groupimport();'>$lt{'impo'}</a>$help{'Importing_LON-CAPA_Resource'}" }, - { '<img class="LC_noBorder LC_middle" src="/res/adm/pages/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>" }, ); $simpleeditdefaultform .= &create_form_ul(&create_list_elements(@simpleeditdefaultforma)); $simpleeditdefaultform .=(<<SEDFFORM); @@ -3654,21 +3573,10 @@ SEDFFORM SEDFFORM my $extresourcesform=(<<ERFORM); - <a class="LC_menubuttons_link" href="javascript:toggleUpload('ext');">$lt{'extr'}</a>$help{'Adding_External_Resource'} <form action="/adm/coursedocs" method="post" name="newext"> - <fieldset id="uploadextform" style="display: none;" /> - <legend>$lt{'extr'}</legend> - <input type="hidden" name="active" value="aa" /> - $lt{'url'}:<br /> - <input type="text" size="60" name="exturl" id="exturl" value="http://" /> - <input type="button" name="view" value="$lt{'prev'}" onclick="javascript:extUrlPreview('exturl');" /><br /> - $lt{'title'}:<br /> - <input type="text" size="60" name="exttitle" value="$lt{'extr'}" /> $uploadtag - <br /> <input type="hidden" name="importdetail" value="" /> - <input type="button" value="$lt{'lnk'}" onclick="javascript:setExternal(this.form,0)" /> - </fieldset> + <a class="LC_menubuttons_link" href="javascript:makenewext('newext');">$lt{'extr'}</a>$help{'Adding_External_Resource'} </form> ERFORM @@ -3737,6 +3645,13 @@ HIDDENFORM } 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); <form action="/adm/coursedocs" method="post" name="newnav"> <input type="hidden" name="active" value="cc" /> @@ -3891,13 +3806,10 @@ NGFFORM $specialdocumentsform = &create_form_ul(&create_list_elements(@specialdocumentsforma)); - my @importdoc = ( - {'<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:toggleUpload(\'ims\');" />'=>$imspform}, - {'<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)); + {'<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/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; @gradingforma=( {'<img class="LC_noBorder LC_middle" src="/res/adm/pages/simpprob.png" alt="'.$lt{sipr}.'" onclick="javascript:makesmpproblem();" />'=>$newsmpproblemform}, @@ -3930,7 +3842,7 @@ unless ($env{'form.pagepath'}) { $hadchanges=0; unless (($supplementalflag || $toolsflag)) { my $error = &editor($r,$coursenum,$coursedom,$folder,$allowed,'',$crstype, - $supplementalflag,\%orderhash,$iconpath,$uploadtag); + $supplementalflag,\%orderhash,$iconpath); if ($error) { $r->print('<p><span class="LC_error">'.$error.'</span></p>'); } @@ -3962,12 +3874,9 @@ unless ($env{'form.pagepath'}) { my $path = &HTML::Entities::encode($env{'form.folderpath'},'<>&"'); + my $supupdocformbtn = "<input type='submit' value='".$lt{'upld'}."' />$help{'Uploading_From_Harddrive'}"; 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"> - <fieldset id="uploadsuppdocform" style="display: none;" /> - <legend>$lt{'upfi'}</legend> <input type="hidden" name="active" value="ee" /> $fileupload <br /> @@ -3981,8 +3890,8 @@ unless ($env{'form.pagepath'}) { <br /> <input type="hidden" name="folderpath" value="$path" /> <input type="hidden" name="cmd" value="upload_supplemental" /> - <input type='submit' value="$lt{'upld'}" /> - </form> +SUPDOCFORM + $supupdocform .= &create_form_ul(&Apache::lonhtmlcommon::htmltag('li',$supupdocformbtn,{class => 'LC_menubuttons_inline_text'}))."</form>"; my $supnewfolderform=(<<SNFFORM); <form action="/adm/coursedocs" method="post" name="supnewfolder"> @@ -3994,24 +3903,15 @@ unless ($env{'form.pagepath'}) { </form> SNFFORM - my $supextform=(<<ERFORM); - <a class="LC_menubuttons_link" href="javascript:toggleUpload('suppext');">$lt{'extr'}</a>$help{'Adding_External_Resource'} - <form action="/adm/coursedocs" method="post" name="newsuppext"> - <fieldset id="uploadsuppextform" style="display: none;" /> - <legend>$lt{'extr'}</legend> - <input type="hidden" name="active" value="ee" /> - $lt{'url'}:<br /> - <input type="text" size="60" name="exturl" id="exturl" value="http://" /> - <input type="button" name="view" value="$lt{'prev'}" onclick="javascript:extUrlPreview('exturl');" /><br /> - $lt{'title'}:<br /> - <input type="text" size="60" name="exttitle" value="$lt{'extr'}" /> - $uploadtag - <br /> - <input type="hidden" name="importdetail" value="" /> - <input type="button" value="$lt{'lnk'}" onclick="javascript:setExternal(this.form,0)" /> - </fieldset> - </form> -ERFORM + + my $supnewextform=(<<SNEFORM); + <form action="/adm/coursedocs" method="post" name="supnewext"> + <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); <form action="/adm/coursedocs" method="post" name="supnewsyl"> @@ -4043,12 +3943,10 @@ my @specialdocs = ( =>$supnewaboutmeform}, ); my @supimportdoc = ( - {'<img class="LC_noBorder LC_middle" src="/res/adm/pages/extres.png" alt="'.$lt{extr}.'" onclick="javascript:makenewext(\'supext\');" />' - =>$supextform}, - {'<img class="LC_noBorder LC_middle" src="/res/adm/pages/pdfupload.png" alt="'.$lt{upl}.'" onclick="javascript:toggleUpload(\'suppdoc\');" />' - =>$supupdocform}, + {'<img class="LC_noBorder LC_middle" src="/res/adm/pages/extres.png" alt="'.$lt{extr}.'" onclick="javascript:makenewext(\'supnewext\');" />' + =>$supnewextform}, ); -$supupdocform = &create_form_ul(&create_list_elements(@supimportdoc)); +$supupdocform = &create_form_ul(&create_list_elements(@supimportdoc)) . '<hr id="ee_hrule" style="width:0px;text-align:left;margin-left:0" />' . $supupdocform; my %suporderhash = ( '00' => ['Supnewfolder', $supnewfolderform], 'ee' => ['Import Content',$supupdocform], @@ -4056,14 +3954,14 @@ my %suporderhash = ( ); if ($supplementalflag) { my $error = &editor($r,$coursenum,$coursedom,$folder,$allowed,'',$crstype, - $supplementalflag,\%suporderhash,$iconpath,$uploadtag); + $supplementalflag,\%suporderhash,$iconpath); if ($error) { $r->print('<p><span class="LC_error">'.$error.'</span></p>'); } } } elsif ($supplementalflag) { my $error = &editor($r,$coursenum,$coursedom,$folder,$allowed,'',$crstype, - $supplementalflag,'',$iconpath,$uploadtag); + $supplementalflag,'',$iconpath); if ($error) { $r->print('<p><span class="LC_error">'.$error.'</span></p>'); } @@ -4336,14 +4234,14 @@ sub generate_edit_table { my $backicon = $iconpath.'clickhere.gif'; my $backtext = &mt('To Overview'); $form = '<div class="LC_Box" style="margin:0;">'. - '<ul id="navigation'.$tid.'" class="LC_TabContent">'."\n". - '<li class="goback">'. - '<a href="javascript:toContents('."'$jumpto'".');">'. - '<img src="'.$backicon.'" class="LC_icon" style="border: none; vertical-align: top;"'. - ' alt="'.$backtext.'" />'.$backtext.'</a></li>'."\n". - '<li>'. - '<a href="javascript:groupopen('."'$readfile'".',1);">'. - &mt('Undo Delete').'</a></li>'."\n"; + '<ul id="navigation'.$tid.'" class="LC_TabContent">'."\n". + '<li class="goback">'. + '<a href="javascript:toContents('."'$jumpto'".');">'. + '<img src="'.$backicon.'" class="LC_icon" style="border: none; vertical-align: top;"'. + ' alt="'.$backtext.'" />'.$backtext.'</a></li>'."\n". + '<li>'. + '<a href="javascript:groupopen('."'$readfile'".',1);">'. + &mt('Undo Delete').'</a></li>'."\n"; if ($env{'form.docslog'}) { $form .= '<li class="active">'; } else { @@ -4363,6 +4261,7 @@ sub generate_edit_table { $active = 'class="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"; } else { $form .= '<li '.$active.' style="float:right">'.${$orderhash{$name}}[1].'</li>'."\n"; @@ -4419,10 +4318,6 @@ sub editing_js { p_ctr2a => 'Cut[_98]', p_ctr2b => '?[_98]', 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(); @@ -4442,15 +4337,6 @@ sub editing_js { $backtourl = '/adm/supplemental'; } - my $fieldsets = "'ext','doc','ims'"; - if ($supplementalflag) { - $fieldsets = "'suppext','suppdoc'"; - } - - my $urlregexp = <<'ENDREGEXP'; -/^([a-z]([a-z]|\d|\+|-|\.)*):(\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?((\[(|(v[\da-f]{1,}\.(([a-z]|\d|-|\.|_|~)|[!\$&'\(\)\*\+,;=]|:)+))\])|((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=])*)(:\d*)?)(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*|(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)|((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)|((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)){0})(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i -ENDREGEXP - return <<ENDNEWSCRIPT; function makenewfolder(targetform,folderseq) { var foldername=prompt('$lt{"p_mnf"}','$lt{"t_mnf"}'); @@ -4468,18 +4354,20 @@ function makenewpage(targetform,folderse } } -function editext(residx) { - if (document.getElementById('uploadext'+residx)) { - var curr = document.getElementById('uploadext'+residx).style.display; - if (curr == 'none') { - disp = 'block'; - } else { - disp = 'none'; - } - document.getElementById('uploadext'+residx).style.display=disp; - } - resize_scrollbox('contentscroll','1','1'); - return; +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() { @@ -4546,54 +4434,19 @@ function makeabout() { } } -function extUrlPreview(caller) { - if (document.getElementById(caller)) { - var url = document.getElementById(caller).value; - var regexp = $urlregexp; - if (regexp.test(url)) { - openMyModal(url,500,400,'yes'); - } else { - alert("$lt{'invurl'}"); - } - } +function makeims() { +var caller = document.forms.ims.folder.value; +var newlocation = "/adm/imsimportdocs?folder="+caller+"&phase=one"; +newWindow = window.open("","IMSimport","HEIGHT=700,WIDTH=750,scrollbars=yes"); +newWindow.location.href = newlocation; } -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 setExternal(extform,residx) { - var title=extform.exttitle.value; - if (!String.trim) { - String.prototype.trim = function() {return this.replace(\/^\\s+|\\s+$\/g, "");}; } - var url=extform.exturl.value; - var regexp = $urlregexp; - if (title == null || title.trim()=="") { - alert("$lt{'titbl'}"); - extform.exttitle.focus(); - return; - } - if (regexp.test(url)) { - url = escape(url); - if (residx > 0) { - eval("extform.importdetail.value=title+'='+url+'='+residx;extform.submit();"); - } else { - eval("extform.importdetail.value=title+'='+url;extform.submit();"); - } - } else { - alert("$lt{'invurl'}"); - extform.exturl.focus(); - return; - } +function finishpick() { +var title=this.document.forms.extimport.title.value; +var url=this.document.forms.extimport.url.value; +var form=this.document.forms.extimport.useform.value; +var residx=this.document.forms.extimport.residx.value; +eval('this.document.forms.'+form+'.importdetail.value="'+title+'='+url+'='+residx+'";this.document.forms.'+form+'.submit();'); } function changename(folderpath,index,oldtitle,container,pagesymb) { @@ -4747,7 +4600,6 @@ function showPage(current, pageId, nav, currentData = document.getElementById(pageId); currentData.style.display = 'block'; activeTab = pageId; - toggleUpload(); if (nav == 'mainnav') { var storedpath = "$docs_folderpath"; if (storedpath == '') {