version 1.415, 2010/02/01 12:03:19
|
version 1.415.4.3, 2010/12/25 00:10:16
|
Line 48 use Image::Magick;
|
Line 48 use Image::Magick;
|
use Apache::lonmenu(); |
use Apache::lonmenu(); |
use Apache::lonmeta(); |
use Apache::lonmeta(); |
use Apache::lonlocal; |
use Apache::lonlocal; |
|
use Apache::loncommon(); |
use Apache::Constants qw(:common); |
use Apache::Constants qw(:common); |
use File::Basename; |
use File::Basename; |
use LONCAPA(); |
use LONCAPA(); |
Line 589 sub start_body {
|
Line 590 sub start_body {
|
sub edit_controls { |
sub edit_controls { |
my ($nochgview) = @_; |
my ($nochgview) = @_; |
my $result .= ' |
my $result .= ' |
<form method="post"> |
<form method="post" action=""> |
<div class="LC_edit_problem_header">'; |
<div class="LC_edit_problem_header">'; |
unless ($nochgview) { |
unless ($nochgview) { |
$result .= ' |
$result .= ' |
Line 601 sub edit_controls {
|
Line 602 sub edit_controls {
|
$result .= ' |
$result .= ' |
<div><input type="submit" name="editmode" accesskey="e" value="'.&mt('Edit').'" />'; |
<div><input type="submit" name="editmode" accesskey="e" value="'.&mt('Edit').'" />'; |
if (($env{'request.course.id'}) && ($env{'form.forceedit'})) { |
if (($env{'request.course.id'}) && ($env{'form.forceedit'})) { |
$result .= (' ' x 3).'<input type="button" value="'.&mt('Course View').'" onclick="javascript:location.href=currentURL" />'; |
my $viewtext = &mt('Course View'); |
|
if (&Apache::loncommon::course_type() eq 'Community') { |
|
$viewtext = &mt('Community View'); |
|
} |
|
$result .= (' ' x 3).'<input type="button" value="'. |
|
$viewtext.'" onclick="javascript:location.href=currentURL" />'; |
} |
} |
$result .= '</div> |
$result .= '</div> |
</div> |
</div> |
Line 2048 sub start_table {
|
Line 2054 sub start_table {
|
my $width = &Apache::lonxml::get_param('TeXwidth', $parstack, $safeeval, undef, 0); |
my $width = &Apache::lonxml::get_param('TeXwidth', $parstack, $safeeval, undef, 0); |
my $theme = &Apache::lonxml::get_param('TeXtheme', $parstack, $safeeval, undef, 0); |
my $theme = &Apache::lonxml::get_param('TeXtheme', $parstack, $safeeval, undef, 0); |
my $align = &Apache::lonxml::get_param('align', $parstack, $safeeval, undef, 0); |
my $align = &Apache::lonxml::get_param('align', $parstack, $safeeval, undef, 0); |
|
my $cell_border = &Apache::lonxml::get_param('rules', $parstack, $safeeval, undef, 0); |
|
|
# The only thing that needs any figuring out is the width.. and then only if it is |
# The only thing that needs any figuring out is the width.. and then only if it is |
# a percent. If not it's assumed to be some valid TeX measurement unit e.g. 3.0cm |
# a percent. If not it's assumed to be some valid TeX measurement unit e.g. 3.0cm |
# |
# |
|
|
my $table = new Apache::lontable(); |
my $table = new Apache::lontable(); |
if ($border ne '') { |
if ((defined $border) && ($border > 0)) { |
$table->table_border(1); |
# &Apache::lonnet::logthis("Turning on table borders: $border"); |
|
$table->table_border(1); |
|
if ($cell_border ne 'none') { |
|
$table->cell_border(1); # html specs that border turns on both...unless rules='none'. |
|
} |
|
} |
|
# Only all or nothing for cell borders for now: |
|
|
|
if ((defined $cell_border) && ($cell_border ne 'none')) { |
|
# &Apache::lonnet::logthis("Turning on cell borders: $cell_border"); |
$table->cell_border(1); |
$table->cell_border(1); |
} |
} |
if ($theme ne '') { |
if (defined $theme) { |
$table->theme($theme); |
$table->theme($theme); |
} |
} |
if ($align ne '') { |
if (defined $align) { |
$table->alignment($align); |
$table->alignment($align); |
} |
} |
|
|
# Missing width is most of page width |
# Missing width is most of page width |
|
|
if ($width eq "") { |
if (!(defined $width)) { |
$width = '70%'; |
$width = '70%'; |
} |
} |
|
|
Line 2722 sub tag_check {
|
Line 2738 sub tag_check {
|
# |
# |
|
|
sub cell_config_hash { |
sub cell_config_hash { |
my ($align, $rowspan, $colspan) = @_; |
my ($align, $rowspan, $colspan, $width) = @_; |
|
if ($rowspan ne '') { |
|
$rowspan =~ s/^\s+|\s+$//g; |
|
} |
|
if ($colspan ne '') { |
|
$colspan =~ s/^\s+|\s+$//g; |
|
} |
my %config; |
my %config; |
if ($align ne '') { |
if ($align ne '') { |
$config{'halign'} = $align; |
$config{'halign'} = $align; |
} |
} |
if ($colspan ne "") { |
if (($colspan =~ /^\d+$/) && ($colspan > 0)) { |
$config{'colspan'} = $colspan; |
$config{'colspan'} = $colspan; |
} |
} |
if ($rowspan ne '') { |
if (($rowspan =~ /^\d+$/) && ($rowspan > 0)) { |
$config{'rowspan'} = $rowspan; |
$config{'rowspan'} = $rowspan; |
} |
} |
|
if ($width ne '') { |
|
$config{'width'} = $width; |
|
} |
return \%config; |
return \%config; |
} |
} |
|
|
Line 2744 sub start_td_tex {
|
Line 2769 sub start_td_tex {
|
# attributes, but empty of text. end_td_tex will |
# attributes, but empty of text. end_td_tex will |
# fetch the contents from the recursive parse and |
# fetch the contents from the recursive parse and |
# fill the cell with them: |
# fill the cell with them: |
my $align = &Apache::lonxml::get_param('align', $parstack, $safeeval, undef, 1); |
my $align = &Apache::lonxml::get_param('align', $parstack, $safeeval); |
my $rowspan = &Apache::lonxml::get_param('rowspan', $parstack, $safeeval, undef, 1); |
my $rowspan = &Apache::lonxml::get_param('rowspan', $parstack, $safeeval); |
my $colspan = &Apache::lonxml::get_param('colspan', $parstack, $safeeval, undef, 1); |
my $colspan = &Apache::lonxml::get_param('colspan', $parstack, $safeeval); |
|
my $width = &Apache::lonxml::get_param('TeXwidth', $parstack, $safeeval); |
my $config = &cell_config_hash($align, $rowspan, $colspan); |
my $config = &cell_config_hash($align, $rowspan, $colspan, $width); |
|
|
my $table = $Apache::londefdef::table[-1]; |
my $table = $Apache::londefdef::table[-1]; |
$table->add_cell('', $config); |
$table->add_cell('', $config); |
Line 3275 sub start_img {
|
Line 3300 sub start_img {
|
['','bottom','middle','top','left','right'],$token,5); |
['','bottom','middle','top','left','right'],$token,5); |
$currentstring .=&Apache::edit::select_arg('TeXwrap:', 'TeXwrap', |
$currentstring .=&Apache::edit::select_arg('TeXwrap:', 'TeXwrap', |
['', 'none','parbox', 'parpic', 'wrapfigure'], $token, 2); |
['', 'none','parbox', 'parpic', 'wrapfigure'], $token, 2); |
|
my $alt= &Apache::lonxml::get_param('alt',$parstack,$safeeval); |
|
my $enc= &Apache::lonxml::get_param('encrypturl',$parstack,$safeeval); |
|
|
$currentstring .=&Apache::edit::select_arg('Encrypt URL:','encrypturl', |
$currentstring .=&Apache::edit::select_arg('Encrypt URL:','encrypturl', |
['no','yes'], $token, 2); |
['no','yes'], $token, 2); |
|
if (($alt=~/\S/) && (lc($enc) eq 'yes')) { |
|
$currentstring.='<br /><span class="LC_warning">'.&mt('Warning: the description "[_1]" will be available, even for encrypted URL',$alt).'</span><br />'; |
|
} |
$currentstring .=&Apache::edit::end_row().&Apache::edit::start_spanning_row(); |
$currentstring .=&Apache::edit::end_row().&Apache::edit::start_spanning_row(); |
my $src= &Apache::lonxml::get_param('src',$parstack,$safeeval); |
my $src= &Apache::lonxml::get_param('src',$parstack,$safeeval); |
my $alt= &Apache::lonxml::get_param('alt',$parstack,$safeeval); |
|
my $width= &Apache::lonxml::get_param('width',$parstack,$safeeval); |
my $width= &Apache::lonxml::get_param('width',$parstack,$safeeval); |
my $height= &Apache::lonxml::get_param('height',$parstack,$safeeval); |
my $height= &Apache::lonxml::get_param('height',$parstack,$safeeval); |
|
|
if ($token->[2]{'src'}=~/\$/) { |
if ($token->[2]{'src'}=~/\$/) { |
$currentstring.='Variable image source'; |
$currentstring.=&mt('Variable image source'); |
|
} elsif ($token->[2]{'src'}=~/\S/) { |
|
$currentstring .= '<img src="'.$src.'" alt="'.$alt.'" '; |
|
if ($width) { $currentstring.=' width="'.$width.'" '; } |
|
if ($height) { $currentstring.=' height="'.$height.'" '; } |
|
$currentstring .= ' />'; |
} else { |
} else { |
$currentstring .= '<img src="'.$src.'" alt="'.$alt.'" '; |
$currentstring.=&mt("No image source specified"); |
if ($width) { $currentstring.=' width="'.$width.'" '; } |
|
if ($height) { $currentstring.=' height="'.$height.'" '; } |
|
$currentstring .= ' />'; |
|
} |
} |
} elsif ($target eq 'modified') { |
} elsif ($target eq 'modified') { |
my ($osrc,$owidth,$oheight)= |
my ($osrc,$owidth,$oheight)= |