--- rat/lonratedt.pm 2006/11/02 21:27:58 1.85 +++ rat/lonratedt.pm 2008/10/13 11:54:54 1.90 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Edit Handler for RAT Maps # -# $Id: lonratedt.pm,v 1.85 2006/11/02 21:27:58 albertel Exp $ +# $Id: lonratedt.pm,v 1.90 2008/10/13 11:54:54 bisitz Exp $ # # Copyright Michigan State University Board of Trustees # @@ -173,7 +173,7 @@ use Apache::lonlocal; use LONCAPA::map(); use File::Copy; use LONCAPA; - +use HTML::Entities(); # --------------------------------------------------------- Build up RAT screen sub ratedt { @@ -274,7 +274,7 @@ function idxopen(mode) { var options="scrollbars=1,resizable=1,menubar=0,location=1,toolbar=1"; idxmode=mode; idxflag=1; - idx=open('$resurl/?launch=1&mode=$mode&catalogmode='+mode,'idxout',options); + idx=open('$resurl/?inhibitmenu=yes&launch=1&mode=$mode&catalogmode='+mode,'idxout',options); idx.focus(); } @@ -282,7 +282,7 @@ function idxopen(mode) { function groupopen(url,recover,bookmarks) { var options="scrollbars=1,resizable=1,menubar=0"; idxflag=1; - idx=open("/adm/groupsort?mode=$mode&recover="+recover+"&readfile="+url+"&bookmarks="+bookmarks,"idxout",options); + idx=open("/adm/groupsort?inhibitmenu=yes&mode=$mode&recover="+recover+"&readfile="+url+"&bookmarks="+bookmarks,"idxout",options); idx.focus(); } @@ -291,7 +291,7 @@ function srchopen(mode) { var options="scrollbars=1,resizable=1,menubar=0"; srchmode=mode; srchflag=1; - srch=open("/adm/searchcat?launch=1&mode=$mode&catalogmode="+mode,"srchout",options); + srch=open("/adm/searchcat?inhibitmenu=yes&launch=1&mode=$mode&catalogmode="+mode,"srchout",options); srch.focus(); } // ----------------------------------------------------- launch indexer browser @@ -326,6 +326,7 @@ function idxcheck(mode) { if (editbrowser == null) { url += 'launch=1&'; } + url += 'inhibitmenu=yes&'; url += 'catalogmode=interactive&'; url += 'mode=edit&'; url += 'form=' + formname + '&'; @@ -359,7 +360,7 @@ sub smpedt { unless ($fatal) { $targetmsg=''.&mt('Saved.').'
'; } else { - $targetmsg=''.&mt('An error occured while saving.').'
'; + $targetmsg=''.&mt('An error occurred while saving.').'
'; } } if ($env{'form.revert'}) { @@ -602,10 +603,12 @@ sub smpedt { my ($name,$url)=split(/\:/,$LONCAPA::map::resources[$_]); unless ($name) { $name=(split(/\//,$url))[-1]; } unless ($name) { $name='EMPTY'; } + $name = &LONCAPA::map::qtescape($name); + $url = &LONCAPA::map::qtescape($url); $targetdetail.='&'.&escape($name).'='. &escape($url); $idx++; - $name=~s/\:/\:/g; + $name = &HTML::Entities::encode($name,'\'"<>&'); ''; } @LONCAPA::map::order); @@ -642,8 +645,6 @@ sub smpedt { function openview(entry) { var url=unescape((entry.split('='))[1]); var parts=new Array; - parts=url.split(':'); - url=parts.join(':'); if (url) { open(url,'cat'); } } @@ -662,12 +663,6 @@ sub smpedt { var entry=(document.forms.simpleedit.targetdetail.value.split('&')) [selidx]; var oldname=unescape((entry.split('='))[0]); - var nameparts=oldname.split(':'); - oldname=unescape(nameparts.join(':')); - nameparts=oldname.split('"'); - oldname=unescape(nameparts.join('"')); - nameparts=oldname.split('''); - oldname=unescape(nameparts.join("'")); newtitle=prompt('$lt{'nt'}',oldname); if (newtitle) { document.forms.simpleedit.renameres.value=1; @@ -763,7 +758,7 @@ ENDSMPHEAD # ----------------------------------------------------------------- No such dir sub nodir { my ($r,$dir)=@_; - $dir=~s{^/home/\w+/public_html}{}; + $dir=~s{^/home/$LONCAPA::username_re/public_html}{}; $r->print(&Apache::loncommon::start_page(undef,undef, {'only_body' => 1, 'bgcolor' => '#FFFFFF',}). @@ -780,31 +775,39 @@ sub viewmap { &Apache::loncommon::help_open_menu('','',6,'RAT'). &buttons($adv)); if ($errtext) { - $r->print($errtext.'
'); + $r->print('
' + .$errtext + .'
' + .'
' + ); } my $idx=0; $r->print('

'.$url.'

'); if ($adv) { - $r->print('

'.&mt('Map contents are not shown in order.').'


'); + $r->print('

' + .&mt('Map contents are not shown in order.') + .'


' + ); } - $r->print( ''. - ''. - ''. - ''. - ''. - ''. - ''); - my @backgroundColors = ("#FFFFFF", "#F6F6F6"); + $r->print(&Apache::loncommon::start_data_table() + .&Apache::loncommon::start_data_table_header_row() + .'' + .'' + .'' + .'' + .'' + .&Apache::loncommon::end_data_table_header_row() + ); foreach (&LONCAPA::map::attemptread(&Apache::lonnet::filelocation('',$url))) { if (defined($_)) { $idx++; my ($title,$url,$cond)=split(/\:/,$_); if ($cond eq 'cond') { next; } - $title=~s/\&colon\;/\:/g; - $url=~s/\&colon\;/\:/g; + $title= &LONCAPA::map::qtescape($title); + $url = &LONCAPA::map::qtescape($url); unless ($title) { $title=(split(/\//,$url))[-1] }; unless ($title) { $title=''.&mt('Empty').''; } - my $resurl = &LONCAPA::map::qtescape($url); + my $resurl = $url; my $resfilepath = $Apache::lonnet::perlvar{'lonDocRoot'}.$resurl; my $filename; if ($resurl =~ m#/([^/]+)$#) { @@ -812,23 +815,34 @@ sub viewmap { } my $cstrurl = $resurl; $cstrurl =~ s#^/res/[^/]+/([^/]+)/#/priv/$1/#; - my $bgcol = $idx%2; - $r->print('' + .'' + .'' + .''."\n"); + $r->print('' + .&Apache::loncommon::end_data_table_row() + ); } } - $r->print('
'.&mt('Type').''.&mt('Title in map').''.&mt('Filename of resource').''.&mt('Link to published resource').''.&mt('Link to resource in Construction Space').'
'.&mt('Type').''.&mt('Title in map').''.&mt('Filename of resource').''.&mt('Link to published resource').''.&mt('Link to resource in Construction Space').'
'. - ''.&LONCAPA::map::qtescape($title). - ''.$filename.''); + $r->print(&Apache::loncommon::start_data_table_row() + .'' + .'' + .'' + .&HTML::Entities::encode(&LONCAPA::map::qtescape($title)) + .''.$filename.'' + ); if ($url) { $r->print(''.&mt('Resource space').''); + } else { + $r->print(' '); } $r->print(''); if ($url) { $r->print(''. &mt('Construction space').''); + } else { + $r->print(' '); } - $r->print('
'); + $r->print(&Apache::loncommon::end_data_table()); $r->print(&Apache::loncommon::end_page()); }