version 1.173, 2005/08/02 18:05:25
|
version 1.177, 2005/11/03 11:11:25
|
Line 36 BEGIN {
|
Line 36 BEGIN {
|
&Apache::lonxml::register('Apache::inputtags',('hiddenline','textfield','textline')); |
&Apache::lonxml::register('Apache::inputtags',('hiddenline','textfield','textline')); |
} |
} |
|
|
|
# Initializes a set of global variables used during the parse of the problem. |
|
# (I like this way of documenting variables better since |
|
# you don't have to rake your eyes over as much code rf). |
|
# |
|
# @Apache::inputtags::input - List of current input ids. |
|
# @Apache::inputtags::inputlist - List of all input ids seen this problem. |
|
# @Apache::inputtags::response - List of all current resopnse ids. |
|
# @Apache::inputtags::responselist - List of all response ids seen this problem. |
|
# @Apache::inputtags::hint - List of all hint ids. |
|
# @Apache::inputtags::hintlist - List of all hint ids seen this problem. |
|
# @Apache::inputtags::previous - List describing if specific responseds have been used |
|
# @Apache::inputtags::previous_version - Submission responses were used in. |
|
# $Apache::inputtags::part - Current part id (valid only in <problem> |
|
# 0 if not in a part. |
|
# @Apache::inputtags::partlist - List of part ids seen in the current <problem> |
|
# @Apache::inputtags::status - List of problem statuses. First element |
|
# is the status of the <problem> the remainder |
|
# are for individual <part>s. |
|
# %Apache::inputtags::params - Hash of defined parameters for the current |
|
# response. |
|
# @Apache::inputtags::import - List of all ids for <import> thes get |
|
# join()ed and prepended. |
|
# @Apache::inputtags::importlist - List of all import ids seen. |
|
# $Apache::inputtags::response_with_no_part |
|
# - Flag set true if we have seen a response |
|
# that is not inside a <part> |
|
# %Apache::inputtags::answertxt - <*response> tags store correct |
|
# answer strings for display by <textline/> |
|
# in this hash. |
|
# |
sub initialize_inputtags { |
sub initialize_inputtags { |
# list of current input ids |
|
@Apache::inputtags::input=(); |
@Apache::inputtags::input=(); |
# list of all input ids seen in this problem |
|
@Apache::inputtags::inputlist=(); |
@Apache::inputtags::inputlist=(); |
# list of all current response ids |
|
@Apache::inputtags::hint=(); |
|
# list of all response ids seen in this problem |
|
@Apache::inputtags::responselist=(); |
|
# list of all current hint ids |
|
@Apache::inputtags::response=(); |
@Apache::inputtags::response=(); |
# list of all hint ids seen in this problem |
@Apache::inputtags::responselist=(); |
|
@Apache::inputtags::hint=(); |
@Apache::inputtags::hintlist=(); |
@Apache::inputtags::hintlist=(); |
# list of whether or not a specific response was previously used |
|
@Apache::inputtags::previous=(); |
@Apache::inputtags::previous=(); |
# submission it was used in |
|
@Apache::inputtags::previous_version=(); |
@Apache::inputtags::previous_version=(); |
# id of current part, 0 means that no part is current |
|
# (inside <problem> only |
|
$Apache::inputtags::part=''; |
$Apache::inputtags::part=''; |
# list of all part ids seen |
|
@Apache::inputtags::partlist=(); |
@Apache::inputtags::partlist=(); |
# list of problem date statuses, the first element is for <problem> |
|
# if there is a second element it is for the current <part> |
|
@Apache::inputtags::status=(); |
@Apache::inputtags::status=(); |
# hash of defined params for the current response |
|
%Apache::inputtags::params=(); |
%Apache::inputtags::params=(); |
# list of all ids, for <import>, these get join()ed and prepended |
|
@Apache::inputtags::import=(); |
@Apache::inputtags::import=(); |
# list of all import ids seen |
|
@Apache::inputtags::importlist=(); |
@Apache::inputtags::importlist=(); |
# just used to note whether we have seen a response that isn't in a part |
|
$Apache::inputtags::response_with_no_part=0; |
$Apache::inputtags::response_with_no_part=0; |
# storage location so the begin <*response> tag can generate the correct |
|
# answer string for display by the <textline /> |
|
%Apache::inputtags::answertxt=(); |
%Apache::inputtags::answertxt=(); |
} |
} |
|
|
Line 306 sub end_hiddenline {
|
Line 316 sub end_hiddenline {
|
# $which -> 'uploadedonly' -> only newly uploaded files |
# $which -> 'uploadedonly' -> only newly uploaded files |
# 'portfolioonly' -> only allow files from portfolio |
# 'portfolioonly' -> only allow files from portfolio |
# 'both' -> allow files from either location |
# 'both' -> allow files from either location |
|
# $extratext -> additional text to go between the link and the input box |
# returns a table row <tr> |
# returns a table row <tr> |
sub file_selector { |
sub file_selector { |
my ($part,$id,$uploadedfiletypes,$which)=@_; |
my ($part,$id,$uploadedfiletypes,$which,$extratext)=@_; |
if (!$uploadedfiletypes) { return ''; } |
if (!$uploadedfiletypes) { return ''; } |
|
|
my $jspart=$part; |
my $jspart=$part; |
Line 329 sub file_selector {
|
Line 340 sub file_selector {
|
|
|
if ($uploadedfile) { |
if ($uploadedfile) { |
my $url=$Apache::lonhomework::history{"resource.$part.$id.uploadedurl"}; |
my $url=$Apache::lonhomework::history{"resource.$part.$id.uploadedurl"}; |
push (@Apache::lonxml::extlinks,$url); |
&Apache::lonxml::extlink($url); |
&Apache::lonnet::allowuploaded('/adm/essayresponse',$url); |
&Apache::lonnet::allowuploaded('/adm/essayresponse',$url); |
my $icon=&Apache::loncommon::icon($url); |
my $icon=&Apache::loncommon::icon($url); |
my $curfile='<a href="'.$url.'"><img src="'.$icon. |
my $curfile='<a href="'.$url.'"><img src="'.$icon. |
Line 343 sub file_selector {
|
Line 354 sub file_selector {
|
$result.='<br />'.'<strong>'.&mt('OR:').'</strong><br />'; |
$result.='<br />'.'<strong>'.&mt('OR:').'</strong><br />'; |
} |
} |
if ($which eq 'portfolioonly' || $which eq 'both') { |
if ($which eq 'portfolioonly' || $which eq 'both') { |
$result.='<a href='."'".'javascript:void(window.open("/adm/portfolio?mode=selectfile&fieldname=HWPORT'.$jspart.'_'.$id.'","cat","height=600,width=800,scrollbars=1,resizable=1,menubar=2,location=1"))'."'".'>'. |
$result.=$extratext.'<a href='."'".'javascript:void(window.open("/adm/portfolio?mode=selectfile&fieldname=HWPORT'.$jspart.'_'.$id.'","cat","height=600,width=800,scrollbars=1,resizable=1,menubar=2,location=1"))'."'".'>'. |
&mt('Select Portfolio Files').'</a><br />'. |
&mt('Select Portfolio Files').'</a><br />'. |
'<input type="text" size="50" name="HWPORT'.$jspart.'_'.$id.'" value="" />'. |
'<input type="text" size="50" name="HWPORT'.$jspart.'_'.$id.'" value="" />'. |
'<br />'; |
'<br />'; |