version 1.51, 2003/10/16 19:23:58
|
version 1.56, 2004/01/09 00:53:19
|
Line 63 use Apache::edit;
|
Line 63 use Apache::edit;
|
use Apache::File(); |
use Apache::File(); |
use Apache::Constants qw(:common :http); |
use Apache::Constants qw(:common :http); |
|
|
|
my %args; |
|
my $cgi_id; |
|
|
BEGIN { |
BEGIN { |
&Apache::lonxml::register('Apache::randomlabel',('randomlabel','labelgroup','location','label')); |
&Apache::lonxml::register('Apache::randomlabel',('randomlabel','labelgroup','location','label')); |
} |
} |
Line 97 sub start_randomlabel {
|
Line 100 sub start_randomlabel {
|
$Apache::randomlabel::tlabel_cnt=0; |
$Apache::randomlabel::tlabel_cnt=0; |
$Apache::randomlabel::ilabel_cnt=0; |
$Apache::randomlabel::ilabel_cnt=0; |
if ($target eq 'web') { |
if ($target eq 'web') { |
&Apache::lonxml::startredirection(); |
$cgi_id=&Apache::loncommon::get_cgi_id(); |
$result.="BGIMG=".&Apache::lonnet::escape($bgimg); |
%args=(); |
|
$args{"cgi.$cgi_id.BGIMG"}=&Apache::lonnet::escape($bgimg); |
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
my $newbgimg = $bgimg; |
my $newbgimg = $bgimg; |
$bgimg=~s/\.(gif|jpg|png|jpeg)$/\.eps/i; |
$bgimg=~s/\.(gif|jpg|png|jpeg)$/\.eps/i; |
$bgimg= &Apache::lonnet::filelocation($bgimg); |
$bgimg= &Apache::lonnet::filelocation($bgimg); |
$bgimg=~s/http:\/[^\/]*/\/home\/httpd\/html/; |
$bgimg=~s|http:/[^/]*|/home/httpd/html|; |
$bgimg=~s/\/$//; |
$bgimg=~s|/$||; |
#if no eps file try to replicate it |
#if no eps file try to replicate it |
if (not-e $bgimg) { |
if (not-e $bgimg) { |
if (&Apache::lonnet::repcopy($bgimg) ne OK ) { |
if (&Apache::lonnet::repcopy($bgimg) ne OK ) { |
Line 118 sub start_randomlabel {
|
Line 122 sub start_randomlabel {
|
my $temp_file; |
my $temp_file; |
my $filename = "/home/httpd/prtspool/$ENV{'user.name'}_$ENV{'user.domain'}_printout.dat"; |
my $filename = "/home/httpd/prtspool/$ENV{'user.name'}_$ENV{'user.domain'}_printout.dat"; |
$temp_file = Apache::File->new('>>'.$filename); |
$temp_file = Apache::File->new('>>'.$filename); |
$newbgimg =~ s/(.*)\/res\//\/home\/httpd\/html\/res\//; |
$newbgimg =~ s|(.*)/res/|/home/httpd/html/res/|; |
print $temp_file "$newbgimg\n"; |
print $temp_file "$newbgimg\n"; |
$bgimg=~s/\/home\/httpd\/html\/res/\/home\/httpd\/prtspool/; } |
$bgimg=~s|/home/httpd/html/res|/home/httpd/prtspool|; |
|
$bgimg=~s|/home/([^/]*)/public_html/|/home/httpd/prtspool/$1/|; |
|
} |
} |
} |
} |
} |
$bgimg=~s/\/$//; |
$bgimg=~s|/$||; |
my $dirtywidth=$texwidth+5; |
my $dirtywidth=$texwidth+5; |
$result.='\vspace*{2mm}\noindent \parbox{'.$dirtywidth.' mm}{ \noindent \epsfxsize='. |
$result.='\vspace*{2mm}\noindent \parbox{'.$dirtywidth.' mm}{ \noindent \epsfxsize='. |
$texwidth.' mm \epsffile{'.$bgimg.'}\setlength{\unitlength}{1mm} \begin{picture}('. |
$texwidth.' mm \epsffile{'.$bgimg.'}\setlength{\unitlength}{1mm} \begin{picture}('. |
Line 158 sub end_randomlabel {
|
Line 164 sub end_randomlabel {
|
my $count; |
my $count; |
pop @Apache::lonxml::namespace; |
pop @Apache::lonxml::namespace; |
if ($target eq 'web') { |
if ($target eq 'web') { |
my $args=&Apache::lonxml::endredirection(); |
|
$args=~s/\s*&/&/g; |
|
$args=~s/\s*$//; |
|
$count = $Apache::randomlabel::tlabel_cnt; |
$count = $Apache::randomlabel::tlabel_cnt; |
if( $count != 0) { $args.= "&COUNT=$count"; } |
if( $count != 0) { $args{"cgi.$cgi_id.COUNT"}=$count; } |
$count = $Apache::randomlabel::ilabel_cnt; |
$count = $Apache::randomlabel::ilabel_cnt; |
if( $count != 0) { $args.= "&ICOUNT=$count"; } |
if( $count != 0) { $args{"cgi.$cgi_id.ICOUNT"}=$count; } |
my $token=$Apache::lonxml::curdepth.'_'.$$; |
$result.='<img src="/adm/randomlabel.png?token='.$cgi_id.'" /><br />'."\n"; |
$result.='<img src="/adm/randomlabel.png?token='.$token; |
&Apache::lonnet::appenv(%args); |
$result.='" /><br />'."\n"; |
|
&Apache::lonnet::appenv(("imagerequest.$token"=>&Apache::lonnet::escape($args))); |
|
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
$result='\end{picture}\\\\'; |
$result='\end{picture}\\\\'; |
my $height=&Apache::lonxml::get_param('height',$parstack,$safeeval); |
my $height=&Apache::lonxml::get_param('height',$parstack,$safeeval); |
Line 279 sub end_labelgroup {
|
Line 280 sub end_labelgroup {
|
&Apache::lonxml::error('Unknown type of label :'.$type.':'); |
&Apache::lonxml::error('Unknown type of label :'.$type.':'); |
} |
} |
if ($target eq 'web') { |
if ($target eq 'web') { |
$result .= '&'. $str .'='.&Apache::lonnet::escape($label); |
$args{"cgi.$cgi_id.$str"} =&Apache::lonnet::escape($label); |
$result .= '&'. $xstr .'='.$x; |
$args{"cgi.$cgi_id.$xstr"}=$x; |
$result .= '&'. $ystr .'='.$y; |
$args{"cgi.$cgi_id.$ystr"}=$y; |
} |
} |
} |
} |
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
Line 404 sub start_label {
|
Line 405 sub start_label {
|
$result.=&Apache::edit::editline('',$text,'',50). |
$result.=&Apache::edit::editline('',$text,'',50). |
&Apache::edit::end_table(); |
&Apache::edit::end_table(); |
} elsif ($target eq 'modified') { |
} elsif ($target eq 'modified') { |
my $text=$$parser[-1]->get_text("/label"); |
|
$result = '<label>'; |
$result = '<label>'; |
if ($type eq 'image') { |
if ($type eq 'image') { |
my $constructtag=&Apache::edit::get_new_args($token,$parstack, |
my $constructtag=&Apache::edit::get_new_args($token,$parstack, |
Line 416 sub start_label {
|
Line 416 sub start_label {
|
$result = $token->[4]; |
$result = $token->[4]; |
} |
} |
} |
} |
$result.=&Apache::edit::modifiedfield($token); |
$result.=&Apache::edit::modifiedfield("/label",$parser); |
} |
} |
return $result; |
return $result; |
} |
} |