version 1.46, 2003/07/25 04:14:32
|
version 1.50, 2003/12/12 15:19:29
|
Line 173 use Apache::lonnet;
|
Line 173 use Apache::lonnet;
|
use Apache::lonratsrv; |
use Apache::lonratsrv; |
use Apache::lonsequence; |
use Apache::lonsequence; |
use Apache::loncommon; |
use Apache::loncommon; |
|
use Apache::lonlocal; |
use File::Copy; |
use File::Copy; |
|
|
use vars qw(@order @resources); |
use vars qw(@order @resources); |
Line 205 sub mapread {
|
Line 206 sub mapread {
|
$links[$number]=$content; |
$links[$number]=$content; |
} |
} |
if ($command eq 'objparms') { |
if ($command eq 'objparms') { |
return('Map has resource parameters. Use advanced editor.',1); |
return(&mt('Map has resource parameters. Use advanced editor.'),1); |
} |
} |
} |
} |
# ------------------------------------------------------- Is this a linear map? |
# ------------------------------------------------------- Is this a linear map? |
Line 219 sub mapread {
|
Line 220 sub mapread {
|
my ($start,$end,$cond)=split(/\:/,$_); |
my ($start,$end,$cond)=split(/\:/,$_); |
if ((defined($starters[$start])) || (defined($endings[$end]))) { |
if ((defined($starters[$start])) || (defined($endings[$end]))) { |
return |
return |
('Map has branchings. Use advanced editor.',1); |
(&mt('Map has branchings. Use advanced editor.'),1); |
} |
} |
$starters[$start]=1; |
$starters[$start]=1; |
$endings[$end]=1; |
$endings[$end]=1; |
if ($cond) { |
if ($cond) { |
return |
return |
('Map has conditions. Use advanced editor.',1); |
(&mt('Map has conditions. Use advanced editor.'),1); |
} |
} |
} |
} |
|
|
Line 234 sub mapread {
|
Line 235 sub mapread {
|
if (defined($resources[$i])) { |
if (defined($resources[$i])) { |
unless (($starters[$i]) || ($endings[$i])) { |
unless (($starters[$i]) || ($endings[$i])) { |
return |
return |
('Map has unconnected resources. Use advanced editor.',1); |
(&mt('Map has unconnected resources. Use advanced editor.'),1); |
} |
} |
} |
} |
} |
} |
Line 413 sub buttons {
|
Line 414 sub buttons {
|
my $adv=shift; |
my $adv=shift; |
my $output='<form method=post>'; |
my $output='<form method=post>'; |
if ($adv==1) { |
if ($adv==1) { |
$output.='<input type=submit name=forceadv value="Edit">'; |
$output.='<input type=submit name=forceadv value="'.&mt('Edit').'">'; |
} else { |
} else { |
unless ($adv==2) { |
unless ($adv==2) { |
$output.='<input type=submit name=forcesmp value="Simple Edit">'; |
$output.='<input type=submit name=forcesmp value="'.&mt('Simple Edit').'">'; |
} |
} |
$output.='<input type=submit name=forceadv value="Advanced Edit">'; |
$output.='<input type=submit name=forceadv value="'.&mt('Advanced Edit').'">'; |
} |
} |
return $output.'</form><hr>'; |
return $output.'</form><hr>'; |
} |
} |
Line 653 sub smpedt {
|
Line 654 sub smpedt {
|
} |
} |
if (-e $tmpfn) { |
if (-e $tmpfn) { |
$targetmsg= |
$targetmsg= |
'<b><font color="red">You are working with an unsaved version of your map.</font></b><br>'; |
'<b><font color="red">'.&mt('You are working with an unsaved version of your map.').'</font></b><br>'; |
my ($errtext,$fatal)=&mapread($tmpfn,''); |
my ($errtext,$fatal)=&mapread($tmpfn,''); |
} |
} |
# ---------------------------------------------------------- Process form input |
# ---------------------------------------------------------- Process form input |
Line 877 sub smpedt {
|
Line 878 sub smpedt {
|
$importdetail='&'.$importdetail; |
$importdetail='&'.$importdetail; |
$importdetail=~s/^\&+/\&/; |
$importdetail=~s/^\&+/\&/; |
my $importwindow= |
my $importwindow= |
'<option value="-1"> ---- Import and Paste Area ---- </option>'. |
'<option value="-1"> ---- '.&mt('Import and Paste Area').' ---- </option>'. |
join("\n",map { |
join("\n",map { |
$idx++; |
$idx++; |
if ($_) { |
if ($_) { |
Line 892 sub smpedt {
|
Line 893 sub smpedt {
|
$idx=0; |
$idx=0; |
$targetdetail=''; |
$targetdetail=''; |
my $targetwindow= |
my $targetwindow= |
'<option value="0"> ------- Target Edit Map ------- </option>'. |
'<option value="0"> ------- '.&mt('Target Edit Map').' ------- </option>'. |
join("\n",map { |
join("\n",map { |
my ($name,$url)=split(/\:/,$resources[$_]); |
my ($name,$url)=split(/\:/,$resources[$_]); |
unless ($name) { $name=(split(/\//,$url))[-1]; } |
unless ($name) { $name=(split(/\//,$url))[-1]; } |
Line 907 sub smpedt {
|
Line 908 sub smpedt {
|
# ----------------------------------------------------- Start simple RAT screen |
# ----------------------------------------------------- Start simple RAT screen |
my $editscript=&editscript('simple'); |
my $editscript=&editscript('simple'); |
my $bodytag=&Apache::loncommon::bodytag(undef,undef,undef,1); |
my $bodytag=&Apache::loncommon::bodytag(undef,undef,undef,1); |
|
my %lt=&Apache::lonlocal::texthash( |
|
'sa' => 'Save', |
|
'nt' => 'New Title', |
|
'se' => 'Search', |
|
'im' => 'Import', |
|
'vi' => 'View', |
|
'lm' => 'Load Map', |
|
'ds' => 'Discard Selected', |
|
'ca' => 'Clear All', |
|
'ta' => 'Temporary Assembly Workspace', |
|
'rv' => 'Revert to Last Saved', |
|
'sa' => 'Save', |
|
'mu' => 'Move Up', |
|
'md' => 'Move Down', |
|
're' => 'Rename', |
|
'as' => 'after selected', |
|
'cs' => 'Cut selected', |
|
'ps' => 'Copy selected', |
|
'pas' => 'Paste after selected', |
|
); |
$r->print(<<ENDSMPHEAD); |
$r->print(<<ENDSMPHEAD); |
<html> |
<html> |
<head> |
<head> |
Line 943 sub smpedt {
|
Line 964 sub smpedt {
|
oldname=unescape(nameparts.join('"')); |
oldname=unescape(nameparts.join('"')); |
nameparts=oldname.split('''); |
nameparts=oldname.split('''); |
oldname=unescape(nameparts.join("'")); |
oldname=unescape(nameparts.join("'")); |
newtitle=prompt('New Title',oldname); |
newtitle=prompt('$lt{'nt'}',oldname); |
if (newtitle) { |
if (newtitle) { |
document.forms.simpleedit.renameres.value=1; |
document.forms.simpleedit.renameres.value=1; |
document.forms.simpleedit.renameidx.value=selidx; |
document.forms.simpleedit.renameidx.value=selidx; |
Line 963 $buttons
|
Line 984 $buttons
|
<input type=hidden name=renametitle value=''> |
<input type=hidden name=renametitle value=''> |
<input type=hidden name=renameidx value=0> |
<input type=hidden name=renameidx value=0> |
<table> |
<table> |
<tr><th width="40%">Temporary Assembly Workspace</th> |
<tr><th width="40%">$lt{'ta'}</th> |
<th> </th> |
<th> </th> |
<th width="40%">File: $url</th></tr> |
<th width="40%">File: $url</th></tr> |
<tr><td bgcolor="#FFFFCC"> |
<tr><td bgcolor="#FFFFCC"> |
<input type=button onClick="javascript:groupsearch()" value="Search"> |
<input type=button onClick="javascript:groupsearch()" value="$lt{'se'}"> |
<input type=button onClick="javascript:groupimport();" value="Import"> |
<input type=button onClick="javascript:groupimport();" value="$lt{'im'}"> |
after selected |
$lt{'as'} |
<hr> |
<hr> |
<input type=text size=20 name=importmap> |
<input type=text size=20 name=importmap> |
<input type=button |
<input type=button |
onClick="javascript:openbrowser('simpleedit','importmap','sequence,page','')" |
onClick="javascript:openbrowser('simpleedit','importmap','sequence,page','')" |
value="Select Map"><input type=submit name=loadmap value="Load Map"><hr> |
value="Select Map"><input type=submit name=loadmap value="$lt{'lm'}"><hr> |
<input type=submit name="discard" value="Discard Selected"> |
<input type=submit name="discard" value="$lt{'ds'}"> |
<input type=submit name="clear" value="Clear All"> |
<input type=submit name="clear" value="$lt{'ca'}"> |
<input type=button onClick="javascript:viewimport()" value="View"> |
<input type=button onClick="javascript:viewimport()" value="$lt{'vi'}"> |
|
|
</td><td> </td><td bgcolor="#FFFFCC"> |
</td><td> </td><td bgcolor="#FFFFCC"> |
|
|
<input type=button onClick= |
<input type=button onClick= |
"javascript:impfortarget.value=1;groupsearch()" value="Search"> |
"javascript:impfortarget.value=1;groupsearch()" value="$lt{'se'}"> |
<input type=button onClick= |
<input type=button onClick= |
"javascript:impfortarget.value=1;groupimport();" value="Import"> |
"javascript:impfortarget.value=1;groupimport();" value="$lt{'im'}"> |
after selected |
$lt{'as'} |
<hr> |
<hr> |
<input type=submit name="moveup" value="Move Up"> |
<input type=submit name="moveup" value="$lt{'mu'}"> |
<input type=submit name="movedown" value="Move Down"> |
<input type=submit name="movedown" value="$lt{'md'}"> |
<input type=button onClick="javascript:renametarget()" value="Rename"> |
<input type=button onClick="javascript:renametarget()" value="$lt{'re'}"> |
<hr>$targetmsg |
<hr>$targetmsg |
<input type=submit name="revert" value="Revert to Last Saved"> |
<input type=submit name="revert" value="$lt{'rv'}"> |
<input type=submit name="save" value="Save"> |
<input type=submit name="save" value="$lt{'sa'}"> |
<input type=button onClick="javascript:viewtarget()" value="View"> |
<input type=button onClick="javascript:viewtarget()" value="$lt{'vi'}"> |
</td></tr> |
</td></tr> |
|
|
<tr><td bgcolor="#FFFFCC"><select name="importsel" size=10 multiple> |
<tr><td bgcolor="#FFFFCC"><select name="importsel" size=10 multiple> |
Line 1001 $importwindow
|
Line 1022 $importwindow
|
</select> |
</select> |
</td> |
</td> |
<td bgcolor="#FFFFAA" align="center"> |
<td bgcolor="#FFFFAA" align="center"> |
Cut selected<br> |
$lt{'cs'}<br> |
<input type=submit name=cut value='<<<'><p> |
<input type=submit name=cut value='<<<'><p> |
<hr> |
<hr> |
Copy selected<br> |
$lt{'ps'}<br> |
<input type=submit name=copy value='<--'><p> |
<input type=submit name=copy value='<--'><p> |
<hr> |
<hr> |
Paste after selected<br> |
$lt{'pas'}<br> |
<input type=submit name=paste value='-->'> |
<input type=submit name=paste value='-->'> |
</td> |
</td> |
<td bgcolor="#FFFFCC"><select name="target" size=10 multiple> |
<td bgcolor="#FFFFCC"><select name="target" size=10 multiple> |
Line 1049 sub viewmap {
|
Line 1070 sub viewmap {
|
my $idx=0; |
my $idx=0; |
$r->print('<h1>'.$url.'</h1>'); |
$r->print('<h1>'.$url.'</h1>'); |
if ($adv) { |
if ($adv) { |
$r->print('<p><b><font color="red">Map contents are not shown in order.</font></b></p><br />'); |
$r->print('<p><b><font color="red">'.&mt('Map contents are not shown in order.').'</font></b></p><br />'); |
} |
} |
foreach (&attemptread(&Apache::lonnet::filelocation('',$url))) { |
foreach (&attemptread(&Apache::lonnet::filelocation('',$url))) { |
if (defined($_)) { |
if (defined($_)) { |
Line 1074 sub viewmap {
|
Line 1095 sub viewmap {
|
|
|
sub handler { |
sub handler { |
my $r=shift; |
my $r=shift; |
$r->content_type('text/html'); |
&Apache::loncommon::content_type($r,'text/html'); |
$r->send_http_header; |
$r->send_http_header; |
|
|
return OK if $r->header_only; |
return OK if $r->header_only; |
|
my $target = $ENV{'form.grade_target'}; |
|
if ($target eq 'meta') { |
|
&Apache::loncommon::content_type($r,'text/html'); |
|
$r->send_http_header; |
|
return OK; |
|
} |
|
|
my $url=$r->uri; |
my $url=$r->uri; |
my $fn=&Apache::lonnet::filelocation('',$url); |
my $fn=&Apache::lonnet::filelocation('',$url); |
|
|