--- loncom/xml/londefdef.pm 2007/07/04 14:02:14 1.372 +++ loncom/xml/londefdef.pm 2008/02/14 22:37:46 1.381 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Tags Default Definition Module # -# $Id: londefdef.pm,v 1.372 2007/07/04 14:02:14 foxr Exp $ +# $Id: londefdef.pm,v 1.381 2008/02/14 22:37:46 www Exp $ # # # Copyright Michigan State University Board of Trustees @@ -448,6 +448,16 @@ sub start_meta { if ((not defined $content) && (not defined $name)) { &Apache::lonxml::startredirection(); } + } elsif ($target eq 'edit') { + $currentstring .= &Apache::edit::tag_start($target,$token); + $currentstring .= &Apache::edit::text_arg('Name:','name',$token,30); + $currentstring .= &Apache::edit::text_arg('Content:','content',$token,70); + $currentstring .= &Apache::edit::end_row(); + } elsif ($target eq 'modified') { + my $constructtag = + &Apache::edit::get_new_args($token,$parstack,$safeeval, + 'name','content'); + if ($constructtag) { $currentstring = &Apache::edit::rebuild_tag($token); } } return $currentstring; } @@ -471,29 +481,36 @@ sub end_meta { return $currentstring; } +sub insert_meta { + return ' + '; +} + # accessrule sub start_accessrule { my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style) = @_; my $currentstring = ''; - my $eff=&Apache::lonxml::get_param - ('effect',$parstack,$safeeval,undef,1); - my $realm=&Apache::lonxml::get_param - ('realm',$parstack,$safeeval,undef,1); - my $role=&Apache::lonxml::get_param - ('role',$parstack,$safeeval,undef,1); - my ($dom,$crs,$sec)=split(/\_/,$realm); - $dom = &LONCAPA::clean_domain($dom); - my $type=&Apache::lonxml::get_param - ('type',$parstack,$safeeval,undef,1); + my $eff =&Apache::lonxml::get_param('effect',$parstack,$safeeval,undef,1); + my $realm=&Apache::lonxml::get_param('realm', $parstack,$safeeval,undef,1); + my $role =&Apache::lonxml::get_param('role', $parstack,$safeeval,undef,1); + my $type =&Apache::lonxml::get_param('type', $parstack,$safeeval,undef,1); + + my ($dom,$crs,$sec,$separator); if ($type eq 'user') { + ($dom,$crs,$sec)=split(m{/},$realm); $crs = &LONCAPA::clean_username($crs); + $separator = '/'; } else { + ($dom,$crs,$sec)=split(/\_/,$realm); $crs = &LONCAPA::clean_courseid($crs); + $separator = '_'; } + $dom = &LONCAPA::clean_domain($dom); + $sec =~s/\W//; $realm = $dom; - if ($crs =~ /\S/) { $realm .= '_'.$crs; } - if ($sec =~ /\S/) { $realm .= '_'.$sec; } + if ($crs =~ /\S/) { $realm .= $separator.$crs; } + if ($sec =~ /\S/) { $realm .= $separator.$sec; } $role=~s/\W//g; if ($target eq 'web') { @@ -562,12 +579,7 @@ sub start_body { if ($env{'request.state'} ne 'published') { $currentstring.=&Apache::lonmenu::constspaceform(); - $currentstring.=(< - - -
-EDITBUTTON + $currentstring.=&Apache::londefdef::edit_controls(); } $currentstring.=&Apache::lonxml::message_location(); } elsif ($target eq 'tex') { @@ -576,6 +588,16 @@ EDITBUTTON return $currentstring; } +sub edit_controls { + my $result .= (< + + +
+EDITBUTTON + return $result; +} + sub end_body { my ($target,$token,$tagstack,$parstack,$parser,$safeeval) = @_; my $currentstring = &end_p(); # Close off unclosed

@@ -1251,9 +1273,7 @@ sub start_br { $signal = 1; } } - if ($signal eq 1) { - $currentstring .= ' \vskip 0 mm '; - } else { + if ($signal != 1) { $currentstring .= '\strut \\\\ \strut '; } @@ -1565,6 +1585,9 @@ sub start_div { } if ($target eq 'tex') { # 4 possible alignments: left, right, center, and -missing-. + # If inside a table row, we must let the table logic + # do the alignment, however. + # my $endstring = ''; @@ -1575,6 +1598,7 @@ sub start_div { $endstring = '\end{center}'; if (&is_inside_of($tagstack, "table")) { $currentstring = ¢er_correction().$currentstring; + $endstring .= ¢er_end_correction(); } } elsif ($align eq 'right') { @@ -3039,11 +3063,14 @@ sub start_img { my $width= &Apache::lonxml::get_param('width',$parstack,$safeeval); my $height= &Apache::lonxml::get_param('height',$parstack,$safeeval); - - $currentstring .= ''.$alt.'[2]{'src'}=~/\$/) { + $currentstring.='Variable image source'; + } else { + $currentstring .= ''.$alt.'[2]{'src'},$token->[2]{'width'},$token->[2]{'height'}); @@ -4523,6 +4550,12 @@ sub align_latex_image { my ($align, $latex_rendering, $image, $width, $height) = @_; my $currentstring; # The 1/2 wrapped image. my $closure; # The closure of the wrappage. + + # if it's none just return it back + if ($latex_rendering eq 'none') { + return ($image,''); + } + # If there's an alignment specification we need to honor it here. # For the horizontal alignments, we will also honor the # value of the latex specfication. The default is parbox,