version 1.531.2.4, 2012/08/01 05:17:02
|
version 1.539, 2013/05/05 00:10:16
|
Line 228 sub xmlend {
|
Line 228 sub xmlend {
|
return $discussion; |
return $discussion; |
} |
} |
|
|
sub tokeninputfield { |
|
my $defhost=$Apache::lonnet::perlvar{'lonHostID'}; |
|
$defhost=~tr/a-z/A-Z/; |
|
return (<<ENDINPUTFIELD) |
|
<script type="text/javascript"> |
|
function updatetoken() { |
|
var comp=new Array; |
|
var barcode=unescape(document.tokeninput.barcode.value); |
|
comp=barcode.split('*'); |
|
if (typeof(comp[0])!="undefined") { |
|
document.tokeninput.codeone.value=comp[0]; |
|
} |
|
if (typeof(comp[1])!="undefined") { |
|
document.tokeninput.codetwo.value=comp[1]; |
|
} |
|
if (typeof(comp[2])!="undefined") { |
|
comp[2]=comp[2].toUpperCase(); |
|
document.tokeninput.codethree.value=comp[2]; |
|
} |
|
document.tokeninput.barcode.value=''; |
|
} |
|
</script> |
|
<form method="post" name="tokeninput" action=""> |
|
<table border="2" bgcolor="#FFFFBB"> |
|
<tr><th>DocID Checkin</th></tr> |
|
<tr><td> |
|
<table> |
|
<tr> |
|
<td>Scan in Barcode</td> |
|
<td><input type="text" size="22" name="barcode" |
|
onchange="updatetoken()"/></td> |
|
</tr> |
|
<tr><td><i>or</i> Type in DocID</td> |
|
<td> |
|
<input type="text" size="5" name="codeone" /> |
|
<b><font size="+2">*</font></b> |
|
<input type="text" size="5" name="codetwo" /> |
|
<b><font size="+2">*</font></b> |
|
<input type="text" size="10" name="codethree" value="$defhost" |
|
onchange="this.value=this.value.toUpperCase()" /> |
|
</td></tr> |
|
</table> |
|
</td></tr> |
|
<tr><td><input type="submit" value="Check in DocID" /></td></tr> |
|
</table> |
|
</form> |
|
ENDINPUTFIELD |
|
} |
|
|
|
sub maketoken { |
|
my ($symb,$tuname,$tudom,$tcrsid)=@_; |
|
unless ($symb) { |
|
$symb=&Apache::lonnet::symbread(); |
|
} |
|
unless ($tuname) { |
|
$tuname=$env{'user.name'}; |
|
$tudom=$env{'user.domain'}; |
|
$tcrsid=$env{'request.course.id'}; |
|
} |
|
return &Apache::lonnet::checkout($symb,$tuname,$tudom,$tcrsid); |
|
} |
|
|
|
sub printtokenheader { |
|
my ($target,$token,$tsymb,$tcrsid,$tudom,$tuname)=@_; |
|
unless ($token) { return ''; } |
|
|
|
my ($symb,$courseid,$domain,$name) = &Apache::lonnet::whichuser(); |
|
unless ($tsymb) { |
|
$tsymb=$symb; |
|
} |
|
unless ($tuname) { |
|
$tuname=$name; |
|
$tudom=$domain; |
|
$tcrsid=$courseid; |
|
} |
|
|
|
my $plainname=&Apache::loncommon::plainname($tuname,$tudom); |
|
|
|
if ($target eq 'web') { |
|
my %idhash=&Apache::lonnet::idrget($tudom,($tuname)); |
|
return |
|
'<img align="right" src="/cgi-bin/barcode.png?encode='.$token.'" />'. |
|
&mt('Checked out for').' '.$plainname. |
|
'<br />'.&mt('User').': '.$tuname.' at '.$tudom. |
|
'<br />'.&mt('ID').': '.$idhash{$tuname}. |
|
'<br />'.&mt('CourseID').': '.$tcrsid. |
|
'<br />'.&mt('Course').': '.$env{'course.'.$tcrsid.'.description'}. |
|
'<br />'.&mt('DocID').': '.$token. |
|
'<br />'.&mt('Time').': '.&Apache::lonlocal::locallocaltime().'<hr />'; |
|
} else { |
|
return $token; |
|
} |
|
} |
|
|
|
sub printalltags { |
sub printalltags { |
my $temp; |
my $temp; |
foreach $temp (sort keys %Apache::lonxml::alltags) { |
foreach $temp (sort keys %Apache::lonxml::alltags) { |
Line 743 sub setup_globals {
|
Line 649 sub setup_globals {
|
|
|
sub init_safespace { |
sub init_safespace { |
my ($target,$safeeval,$safehole,$safeinit) = @_; |
my ($target,$safeeval,$safehole,$safeinit) = @_; |
$safeeval->reval('use Math::Complex;'); |
|
$safeeval->reval('use LaTeX::Table;'); |
$safeeval->reval('use LaTeX::Table;'); |
$safeeval->deny_only(':dangerous'); |
$safeeval->deny_only(':dangerous'); |
|
$safeeval->reval('use Math::Complex;'); |
$safeeval->permit_only(":default"); |
$safeeval->permit_only(":default"); |
$safeeval->permit("entereval"); |
$safeeval->permit("entereval"); |
$safeeval->permit(":base_math"); |
$safeeval->permit(":base_math"); |
Line 1604 sub renderingoptions {
|
Line 1510 sub renderingoptions {
|
} |
} |
|
|
sub inserteditinfo { |
sub inserteditinfo { |
my ($filecontents,$filetype,$filename,$symb,$itemtitle) = @_; |
my ($filecontents,$filetype,$filename,$symb,$itemtitle,$folderpath,$uri) = @_; |
$filecontents = &HTML::Entities::encode($filecontents,'<>&"'); |
$filecontents = &HTML::Entities::encode($filecontents,'<>&"'); |
my $xml_help = ''; |
my $xml_help = ''; |
my $initialize=''; |
my $initialize=''; |
Line 1630 sub inserteditinfo {
|
Line 1536 sub inserteditinfo {
|
</script> |
</script> |
FULLPAGE |
FULLPAGE |
if ($filetype eq 'html') { |
if ($filetype eq 'html') { |
if ($symb) { |
my $context; |
$deps_button = &Apache::lonhtmlcommon::dependencies_button()."\n"; |
if ($env{'request.course.id'}) { |
$initialize .= |
my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'}; |
&Apache::lonhtmlcommon::dependencycheck_js($symb,$itemtitle)."\n"; |
my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'}; |
|
if ($uri =~ m{^\Q/uploaded/$cdom/$cnum/portfolio/syllabus/\E}) { |
|
$context = 'syllabus'; |
|
$deps_button = &Apache::lonhtmlcommon::dependencies_button()."\n"; |
|
$initialize .= |
|
&Apache::lonhtmlcommon::dependencycheck_js(undef,&mt('Syllabus'), |
|
$uri,undef, |
|
"/public/$cdom/$cnum/syllabus"). |
|
"\n"; |
|
} |
|
} |
|
unless ($context eq 'syllabus') { |
|
if ($symb || $folderpath) { |
|
$deps_button = &Apache::lonhtmlcommon::dependencies_button()."\n"; |
|
$initialize .= |
|
&Apache::lonhtmlcommon::dependencycheck_js($symb,$itemtitle, |
|
undef,$folderpath,$uri)."\n"; |
|
} |
} |
} |
$dragmath_button = '<span id="math_filecont">'.&Apache::lonhtmlcommon::dragmath_button('filecont',1).'</span>'; |
$dragmath_button = '<span id="math_filecont">'.&Apache::lonhtmlcommon::dragmath_button('filecont',1).'</span>'; |
$initialize .= "\n".&Apache::lonhtmlcommon::dragmath_js('EditMathPopup'); |
$initialize .= "\n".&Apache::lonhtmlcommon::dragmath_js('EditMathPopup'); |
Line 1763 sub handler {
|
Line 1686 sub handler {
|
} else { |
} else { |
$filetype='html'; |
$filetype='html'; |
} |
} |
|
unless ($env{'request.uri'}) { |
|
$env{'request.uri'}=$request->uri; |
|
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'}, |
|
['todocs']); |
|
} |
if ($filetype eq 'sty') { |
if ($filetype eq 'sty') { |
$breadcrumbtext = 'Style File Editor'; |
$breadcrumbtext = 'Style File Editor'; |
} elsif ($filetype eq 'js') { |
} elsif ($filetype eq 'js') { |
Line 1891 ENDNOTFOUND
|
Line 1819 ENDNOTFOUND
|
my ($displayfile,$url,$symb,$itemtitle); |
my ($displayfile,$url,$symb,$itemtitle); |
$displayfile=$request->uri; |
$displayfile=$request->uri; |
if ($request->uri =~ m{^/uploaded/}) { |
if ($request->uri =~ m{^/uploaded/}) { |
($symb,$itemtitle,$displayfile) = |
if ($env{'request.course.id'}) { |
&get_courseupload_hierarchy($request->uri); |
my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'}; |
|
my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'}; |
|
if ($request->uri =~ m{^\Q/uploaded/$cdom/$cnum/supplemental/\E}) { |
|
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'}, |
|
['folderpath','title']); |
|
} elsif ($request->uri =~ m{^\Q/uploaded/$cdom/$cnum/portfolio/syllabus/\E(.+)$}) { |
|
$displayfile = &mt('Syllabus file: [_1]',$1); |
|
$itemtitle = &mt('Syllabus'); |
|
} |
|
} |
|
unless ($itemtitle) { |
|
($symb,$itemtitle,$displayfile) = |
|
&get_courseupload_hierarchy($request->uri, |
|
$env{'form.folderpath'}, |
|
$env{'form.title'}); |
|
} |
} else { |
} else { |
$displayfile=~s/^\/[^\/]*//; |
$displayfile=~s/^\/[^\/]*//; |
} |
} |
|
|
my ($edit_info, $add_to_onload, $add_to_onresize)= |
my ($edit_info, $add_to_onload, $add_to_onresize)= |
&inserteditinfo($filecontents,$filetype,$displayfile,$symb,$itemtitle); |
&inserteditinfo($filecontents,$filetype,$displayfile,$symb, |
|
$itemtitle,$env{'form.folderpath'},$request->uri); |
|
|
my %options = |
my %options = |
('add_entries' => |
('add_entries' => |
Line 1949 sub display_title {
|
Line 1893 sub display_title {
|
} |
} |
|
|
sub get_courseupload_hierarchy { |
sub get_courseupload_hierarchy { |
my ($url) = @_; |
my ($url,$folderpath,$title) = @_; |
my ($symb,$itemtitle,$displaypath); |
my ($symb,$itemtitle,$displaypath); |
if ($env{'request.course.id'}) { |
if ($env{'request.course.id'}) { |
$symb = &Apache::lonnet::symbread($url); |
if ($folderpath =~ /^supplemental/) { |
my ($map,$id,$res)=&Apache::lonnet::decode_symb($symb); |
my @folders = split(/\&/,$folderpath); |
my $navmap=Apache::lonnavmaps::navmap->new; |
my @pathitems; |
if (ref($navmap)) { |
while (@folders) { |
my $res = $navmap->getBySymb($symb); |
my $folder=shift(@folders); |
if (ref($res)) { |
my $foldername=shift(@folders); |
my @pathitems = |
$foldername =~ s/\:(\d*)\:(\w*)\:(\w*):(\d*)\:?(\d*)$//; |
&Apache::loncommon::get_folder_hierarchy($navmap,$map,1); |
push(@pathitems,&unescape($foldername)); |
$itemtitle = $res->compTitle(); |
} |
push(@pathitems,$itemtitle); |
if ($title) { |
$displaypath = join(' » ',@pathitems); |
push(@pathitems,&unescape($title)); |
|
} |
|
$displaypath = join(' » ',@pathitems); |
|
} else { |
|
$symb = &Apache::lonnet::symbread($url); |
|
my ($map,$id,$res)=&Apache::lonnet::decode_symb($symb); |
|
my $navmap=Apache::lonnavmaps::navmap->new; |
|
if (ref($navmap)) { |
|
my $res = $navmap->getBySymb($symb); |
|
if (ref($res)) { |
|
my @pathitems = |
|
&Apache::loncommon::get_folder_hierarchy($navmap,$map,1); |
|
$itemtitle = $res->compTitle(); |
|
push(@pathitems,$itemtitle); |
|
$displaypath = join(' » ',@pathitems); |
|
} |
} |
} |
} |
} |
} |
} |
Line 2119 sub add_messages {
|
Line 2078 sub add_messages {
|
} |
} |
|
|
sub get_param { |
sub get_param { |
my ($param,$parstack,$safeeval,$context,$case_insensitive) = @_; |
my ($param,$parstack,$safeeval,$context,$case_insensitive, $noelide) = @_; |
|
|
if ( ! $context ) { $context = -1; } |
if ( ! $context ) { $context = -1; } |
my $args =''; |
my $args =''; |
if ( $#$parstack > (-2-$context) ) { $args=$$parstack[$context]; } |
if ( $#$parstack > (-2-$context) ) { $args=$$parstack[$context]; } |
if ( ! $Apache::lonxml::usestyle ) { |
if ( ! $Apache::lonxml::usestyle ) { |
$args=$Apache::lonxml::style_values.$args; |
$args=$Apache::lonxml::style_values.$args; |
} |
} |
|
|
|
|
|
if ($noelide) { |
|
# $args =~ s/\\'/'/g; |
|
$args =~ s/'\$/'\\\$/g; |
|
} |
|
|
if ( ! $args ) { return undef; } |
if ( ! $args ) { return undef; } |
if ( $case_insensitive ) { |
if ( $case_insensitive ) { |
if ($args =~ s/(my (?:.*))(\$\Q$param\E[,\)])/$1.lc($2)/ei) { |
if ($args =~ s/(my (?:.*))(\$\Q$param\E[,\)])/$1.lc($2)/ei) { |
|
|
return &Apache::run::run("{$args;".'return $'.$param.'}', |
return &Apache::run::run("{$args;".'return $'.$param.'}', |
$safeeval); #' |
$safeeval); #' |
} else { |
} else { |
Line 2136 sub get_param {
|
Line 2104 sub get_param {
|
} |
} |
} else { |
} else { |
if ( $args =~ /my .*\$\Q$param\E[,\)]/ ) { |
if ( $args =~ /my .*\$\Q$param\E[,\)]/ ) { |
|
|
return &Apache::run::run("{$args;".'return $'.$param.'}', |
return &Apache::run::run("{$args;".'return $'.$param.'}', |
$safeeval); #' |
$safeeval); #' |
} else { |
} else { |