version 1.215, 2004/09/29 19:13:20
|
version 1.221, 2004/10/21 09:53:44
|
Line 254 sub browser_and_searcher_javascript {
|
Line 254 sub browser_and_searcher_javascript {
|
if (!defined($mode)) { $mode='edit'; } |
if (!defined($mode)) { $mode='edit'; } |
my $resurl=&lastresurl(); |
my $resurl=&lastresurl(); |
return <<END; |
return <<END; |
|
// <!-- BEGIN LON-CAPA Internal |
var editbrowser = null; |
var editbrowser = null; |
function openbrowser(formname,elementname,only,omit,titleelement) { |
function openbrowser(formname,elementname,only,omit,titleelement) { |
var url = '$resurl/?'; |
var url = '$resurl/?'; |
Line 265 sub browser_and_searcher_javascript {
|
Line 266 sub browser_and_searcher_javascript {
|
url += 'form=' + formname + '&'; |
url += 'form=' + formname + '&'; |
if (only != null) { |
if (only != null) { |
url += 'only=' + only + '&'; |
url += 'only=' + only + '&'; |
} |
} else { |
|
url += 'only=&'; |
|
} |
if (omit != null) { |
if (omit != null) { |
url += 'omit=' + omit + '&'; |
url += 'omit=' + omit + '&'; |
} |
} else { |
|
url += 'omit=&'; |
|
} |
if (titleelement != null) { |
if (titleelement != null) { |
url += 'titleelement=' + titleelement + '&'; |
url += 'titleelement=' + titleelement + '&'; |
} |
} else { |
|
url += 'titleelement=&'; |
|
} |
url += 'element=' + elementname + ''; |
url += 'element=' + elementname + ''; |
var title = 'Browser'; |
var title = 'Browser'; |
var options = 'scrollbars=1,resizable=1,menubar=0'; |
var options = 'scrollbars=1,resizable=1,menubar=1,location=1'; |
options += ',width=700,height=600'; |
options += ',width=700,height=600'; |
editbrowser = open(url,title,options,'1'); |
editbrowser = open(url,title,options,'1'); |
editbrowser.focus(); |
editbrowser.focus(); |
Line 290 sub browser_and_searcher_javascript {
|
Line 297 sub browser_and_searcher_javascript {
|
url += 'form=' + formname + '&'; |
url += 'form=' + formname + '&'; |
if (titleelement != null) { |
if (titleelement != null) { |
url += 'titleelement=' + titleelement + '&'; |
url += 'titleelement=' + titleelement + '&'; |
} |
} else { |
|
url += 'titleelement=&'; |
|
} |
url += 'element=' + elementname + ''; |
url += 'element=' + elementname + ''; |
var title = 'Search'; |
var title = 'Search'; |
var options = 'scrollbars=1,resizable=1,menubar=0'; |
var options = 'scrollbars=1,resizable=1,menubar=0'; |
Line 298 sub browser_and_searcher_javascript {
|
Line 307 sub browser_and_searcher_javascript {
|
editsearcher = open(url,title,options,'1'); |
editsearcher = open(url,title,options,'1'); |
editsearcher.focus(); |
editsearcher.focus(); |
} |
} |
|
// END LON-CAPA Internal --> |
END |
END |
} |
} |
|
|
Line 483 sub linked_select_forms {
|
Line 493 sub linked_select_forms {
|
my $first = "document.$formname.$firstselectname"; |
my $first = "document.$formname.$firstselectname"; |
# output the javascript to do the changing |
# output the javascript to do the changing |
my $result = ''; |
my $result = ''; |
$result.="<script>\n"; |
$result.="<script type=\"text/javascript\">\n"; |
$result.="var select2data = new Object();\n"; |
$result.="var select2data = new Object();\n"; |
$" = '","'; |
$" = '","'; |
my $debug = ''; |
my $debug = ''; |
Line 613 sub help_open_topic {
|
Line 623 sub help_open_topic {
|
my $title = &mt('Online Help'); |
my $title = &mt('Online Help'); |
my $helpicon=&lonhttpdurl("/adm/help/gif/smallHelp.gif"); |
my $helpicon=&lonhttpdurl("/adm/help/gif/smallHelp.gif"); |
$template .= <<"ENDTEMPLATE"; |
$template .= <<"ENDTEMPLATE"; |
<a href="$link" title="$title"><image src="$helpicon" border="0" alt="(Help: $topic)" /></a> |
<a href="$link" title="$title"><img src="$helpicon" border="0" alt="(Help: $topic)" /></a> |
ENDTEMPLATE |
ENDTEMPLATE |
if ($text ne '') { $template.='</td></tr></table>' }; |
if ($text ne '') { $template.='</td></tr></table>' }; |
return $template; |
return $template; |
Line 673 sub help_open_menu {
|
Line 683 sub help_open_menu {
|
} |
} |
my $helpicon=&lonhttpdurl("/adm/lonIcons/helpgateway.gif"); |
my $helpicon=&lonhttpdurl("/adm/lonIcons/helpgateway.gif"); |
$template .= <<"ENDTEMPLATE"; |
$template .= <<"ENDTEMPLATE"; |
<script> |
<script type="text/javascript"> |
|
//<!-- BEGIN LON-CAPA Internal |
function helpMenu(caller) { |
function helpMenu(caller) { |
if (caller == 'open') { |
if (caller == 'open') { |
newWindow = window.open("","helpmenu","HEIGHT=$height,WIDTH=$width,resize=yes,scrollbars=yes" ) |
newWindow = window.open("","helpmenu","HEIGHT=$height,WIDTH=$width,resize=yes,scrollbars=yes" ) |
Line 689 function helpMenu(caller) {
|
Line 700 function helpMenu(caller) {
|
caller.focus() |
caller.focus() |
} |
} |
} |
} |
|
// END LON-CAPA Internal --> |
</script> |
</script> |
<a href="$link" title="$title"><image src="$helpicon" border="0" alt="(Help Menu)" /></a> |
<a href="$link" title="$title"><img src="$helpicon" border="0" alt="(Help Menu)" /></a> |
ENDTEMPLATE |
ENDTEMPLATE |
if ($component_help) { |
if ($component_help) { |
if (!$text) { |
if (!$text) { |
Line 747 sub help_open_bug {
|
Line 759 sub help_open_bug {
|
my $title = &mt('Report a Bug'); |
my $title = &mt('Report a Bug'); |
my $bugicon=&lonhttpdurl("/adm/lonMisc/smallBug.gif"); |
my $bugicon=&lonhttpdurl("/adm/lonMisc/smallBug.gif"); |
$template .= <<"ENDTEMPLATE"; |
$template .= <<"ENDTEMPLATE"; |
<a href="$link" title="$title"><image src="$bugicon" border="0" alt="(Bug: $topic)" /></a> |
<a href="$link" title="$title"><img src="$bugicon" border="0" alt="(Bug: $topic)" /></a> |
ENDTEMPLATE |
ENDTEMPLATE |
if ($text ne '') { $template.='</td></tr></table>' }; |
if ($text ne '') { $template.='</td></tr></table>' }; |
return $template; |
return $template; |
Line 792 sub help_open_faq {
|
Line 804 sub help_open_faq {
|
my $title = &mt('View the FAQ'); |
my $title = &mt('View the FAQ'); |
my $faqicon=&lonhttpdurl("/adm/lonMisc/smallFAQ.gif"); |
my $faqicon=&lonhttpdurl("/adm/lonMisc/smallFAQ.gif"); |
$template .= <<"ENDTEMPLATE"; |
$template .= <<"ENDTEMPLATE"; |
<a href="$link" title="$title"><image src="$faqicon" border="0" alt="(FAQ: $topic)" /></a> |
<a href="$link" title="$title"><img src="$faqicon" border="0" alt="(FAQ: $topic)" /></a> |
ENDTEMPLATE |
ENDTEMPLATE |
if ($text ne '') { $template.='</td></tr></table>' }; |
if ($text ne '') { $template.='</td></tr></table>' }; |
return $template; |
return $template; |
Line 2747 returns cache-controlling header code
|
Line 2759 returns cache-controlling header code
|
=cut |
=cut |
|
|
sub cacheheader { |
sub cacheheader { |
unless ($ENV{'request.method'} eq 'GET') { return ''; } |
unless ($ENV{'request.method'} eq 'GET') { return ''; } |
my $date=strftime("%a, %d %b %Y %H:%M:%S GMT",gmtime); |
my $date=strftime("%a, %d %b %Y %H:%M:%S GMT",gmtime); |
my $output .='<meta HTTP-EQUIV="Expires" CONTENT="'.$date.'" /> |
my $output .='<meta HTTP-EQUIV="Expires" CONTENT="'.$date.'" /> |
<meta HTTP-EQUIV="Cache-control" CONTENT="no-cache" /> |
<meta HTTP-EQUIV="Cache-control" CONTENT="no-cache" /> |
<meta HTTP-EQUIV="Pragma" CONTENT="no-cache" />'; |
<meta HTTP-EQUIV="Pragma" CONTENT="no-cache" />'; |
return $output; |
return $output; |
} |
} |
|
|
=pod |
=pod |
Line 2764 specifies header code to not have cache
|
Line 2776 specifies header code to not have cache
|
=cut |
=cut |
|
|
sub no_cache { |
sub no_cache { |
my ($r) = @_; |
my ($r) = @_; |
unless ($ENV{'request.method'} eq 'GET') { return ''; } |
if ($ENV{'REQUEST_METHOD'} ne 'GET' && |
#my $date=strftime("%a, %d %b %Y %H:%M:%S GMT",gmtime); |
$ENV{'request.method'} ne 'GET') { return ''; } |
$r->no_cache(1); |
my $date=strftime("%a, %d %b %Y %H:%M:%S GMT",gmtime(time)); |
$r->header_out("Pragma" => "no-cache"); |
$r->no_cache(1); |
#$r->header_out("Expires" => $date); |
$r->header_out("Expires" => $date); |
|
$r->header_out("Pragma" => "no-cache"); |
} |
} |
|
|
sub content_type { |
sub content_type { |
Line 3280 sub DrawBarGraph {
|
Line 3293 sub DrawBarGraph {
|
} |
} |
# |
# |
my ($height,$width,$xskip,$bar_width) = (200,120,1,15); |
my ($height,$width,$xskip,$bar_width) = (200,120,1,15); |
if ($NumBars < 10) { |
if ($NumBars < 5) { |
|
$width = 120+$NumBars*25; |
|
$xskip = 1; |
|
$bar_width = 25; |
|
} elsif ($NumBars < 10) { |
$width = 120+$NumBars*15; |
$width = 120+$NumBars*15; |
$xskip = 1; |
$xskip = 1; |
$bar_width = 15; |
$bar_width = 15; |
Line 3563 Inputs:
|
Line 3580 Inputs:
|
sub chartlink { |
sub chartlink { |
my ($linktext, $sname, $sdomain) = @_; |
my ($linktext, $sname, $sdomain) = @_; |
my $link = '<a href="/adm/statistics?reportSelected=student_assessment'. |
my $link = '<a href="/adm/statistics?reportSelected=student_assessment'. |
'&SelectedStudent='.&Apache::lonnet::escape($sname.':'.$sdomain). |
'&SelectedStudent='.&Apache::lonnet::escape($sname.':'.$sdomain). |
'&chartoutputmode='.HTML::Entities::encode('html, with all links'). |
'&chartoutputmode='.HTML::Entities::encode('html, with all links'). |
'">'.$linktext.'</a>'; |
'">'.$linktext.'</a>'; |
} |
} |
|
|
Line 3715 sub connection_aborted {
|
Line 3732 sub connection_aborted {
|
return $c->aborted(); |
return $c->aborted(); |
} |
} |
|
|
|
# |
|
# Escapes strings that may have embedded 's that will be put into |
|
# javascript strings as 'strings'. |
|
# The assumptions are: |
|
# There has been no effort to escape ' with \' |
|
# Any \'s in the string are intended to be there as part of the URL |
|
# and must also be escaped. |
|
# Parameters: |
|
# input - The string to escape. |
|
# Returns: |
|
# The escaped string (' replaced by \' and \ replaced by \\). |
|
# |
|
sub javascript_escape { |
|
my ($input) = @_; |
|
|
|
# I imagine a regexp wizard could combine the two expressions below. |
|
# If you do you might want to comment the result. |
|
|
|
$input =~ s/\\/\\\\/g; # Escape the /'s..(must be first)> |
|
$input =~ s/\'/\\\'/g; # Esacpe the 's.... |
|
|
|
return $input; |
|
} |
|
|
|
|
=pod |
=pod |
|
|
=back |
=back |