version 1.588, 2007/09/25 22:58:48
|
version 1.593, 2007/10/18 21:57:59
|
Line 1074 sub changable_area {
|
Line 1074 sub changable_area {
|
|
|
=pod |
=pod |
|
|
=item * resize_textarea_js |
=item * viewport_geometry_js { |
|
|
emits the needed javascript to resize a textarea to be as big as possible |
|
|
|
creates a function resize_textrea that takes two IDs first should be |
|
the id of the element to resize, second should be the id of a div that |
|
surrounds everything that comes after the textarea, this routine needs |
|
to be attached to the <body> for the onload and onresize events. |
|
|
|
|
Provides javascript object (Geometry) which can provide information about the viewport geometry for the client browser. |
|
|
=cut |
=cut |
|
|
sub resize_textarea_js { |
|
return <<"RESIZE"; |
sub viewport_geometry_js { |
<script type="text/javascript"> |
return <<"GEOMETRY"; |
var Geometry = {}; |
var Geometry = {}; |
function init_geometry() { |
function init_geometry() { |
if (Geometry.init) { return }; |
if (Geometry.init) { return }; |
Geometry.init=1; |
Geometry.init=1; |
if (window.innerHeight) { |
if (window.innerHeight) { |
Geometry.getViewportHeight = function() { return window.innerHeight; }; |
Geometry.getViewportHeight = function() { return window.innerHeight; }; |
Geometry.getHorizontalScroll = function() { return window.pageXOffset; }; |
Geometry.getViewportWidth = function() { return window.innerWidth; }; |
Geometry.getVerticalScroll = function() { return window.pageYOffset; }; |
Geometry.getHorizontalScroll = function() { return window.pageXOffset; }; |
|
Geometry.getVerticalScroll = function() { return window.pageYOffset; }; |
} |
} |
else if (document.documentElement && document.documentElement.clientHeight) { |
else if (document.documentElement && document.documentElement.clientHeight) { |
Geometry.getViewportHeight = |
Geometry.getViewportHeight = |
function() { return document.documentElement.clientHeight; }; |
function() { return document.documentElement.clientHeight; }; |
Geometry.getHorizontalScroll = |
Geometry.getViewportWidth = |
function() { return document.documentElement.scrollLeft; }; |
function() { return document.documentElement.clientWidth; }; |
Geometry.getVerticalScroll = |
|
function() { return document.documentElement.scrollTop; }; |
Geometry.getHorizontalScroll = |
|
function() { return document.documentElement.scrollLeft; }; |
|
Geometry.getVerticalScroll = |
|
function() { return document.documentElement.scrollTop; }; |
} |
} |
else if (document.body.clientHeight) { |
else if (document.body.clientHeight) { |
Geometry.getViewportHeight = |
Geometry.getViewportHeight = |
function() { return document.body.clientHeight; }; |
function() { return document.body.clientHeight; }; |
Geometry.getHorizontalScroll = |
Geometry.getViewportWidth = |
function() { return document.body.scrollLeft; }; |
function() { return document.body.clientWidth; }; |
Geometry.getVerticalScroll = |
Geometry.getHorizontalScroll = |
function() { return document.body.scrollTop; }; |
function() { return document.body.scrollLeft; }; |
|
Geometry.getVerticalScroll = |
|
function() { return document.body.scrollTop; }; |
} |
} |
} |
} |
|
|
|
GEOMETRY |
|
} |
|
|
|
=pod |
|
|
|
=item * viewport_size_js { |
|
|
|
Provides a javascript function to set values of two form elements - width and height (elements are passed in as arguments to the javascript function) to the dimensions of the user's browser window. |
|
|
|
=cut |
|
|
|
sub viewport_size_js { |
|
my $geometry = &viewport_geometry_js(); |
|
return <<"DIMS"; |
|
|
|
$geometry |
|
|
|
function getViewportDims(width,height) { |
|
init_geometry(); |
|
width.value = Geometry.getViewportWidth(); |
|
height.value = Geometry.getViewportHeight(); |
|
return; |
|
} |
|
|
|
DIMS |
|
} |
|
|
|
=pod |
|
|
|
=item * resize_textarea_js |
|
|
|
emits the needed javascript to resize a textarea to be as big as possible |
|
|
|
creates a function resize_textrea that takes two IDs first should be |
|
the id of the element to resize, second should be the id of a div that |
|
surrounds everything that comes after the textarea, this routine needs |
|
to be attached to the <body> for the onload and onresize events. |
|
|
|
|
|
=cut |
|
|
|
sub resize_textarea_js { |
|
my $geometry = &viewport_geometry_js(); |
|
return <<"RESIZE"; |
|
<script type="text/javascript"> |
|
$geometry |
|
|
function getX(element) { |
function getX(element) { |
var x = 0; |
var x = 0; |
while (element) { |
while (element) { |
Line 1751 END
|
Line 1798 END
|
} |
} |
|
|
my $radioval = "'nochange'"; |
my $radioval = "'nochange'"; |
if (exists($in{'curr_authtype'}) && |
if (defined($in{'curr_authtype'})) { |
defined($in{'curr_authtype'}) && |
if ($in{'curr_authtype'} ne '') { |
$in{'curr_authtype'} ne '') { |
$radioval = "'".$in{'curr_authtype'}."arg'"; |
$radioval = "'$in{'curr_authtype'}arg'"; |
} |
} |
} |
my $argfield = 'null'; |
my $argfield = 'null'; |
if ( grep/^mode$/,(keys %in) ) { |
if (defined($in{'mode'})) { |
if ($in{'mode'} eq 'modifycourse') { |
if ($in{'mode'} eq 'modifycourse') { |
if ( grep/^curr_authtype$/,(keys %in) ) { |
if (defined($in{'curr_autharg'})) { |
$radioval = "'$in{'curr_authtype'}'"; |
if ($in{'curr_autharg'} ne '') { |
} |
|
if ( grep/^curr_autharg$/,(keys %in) ) { |
|
unless ($in{'curr_autharg'} eq '') { |
|
$argfield = "'$in{'curr_autharg'}'"; |
$argfield = "'$in{'curr_autharg'}'"; |
} |
} |
} |
} |
Line 1860 sub authform_nochange{
|
Line 1904 sub authform_nochange{
|
return $result; |
return $result; |
} |
} |
|
|
sub authform_kerberos{ |
sub authform_kerberos { |
my %in = ( |
my %in = ( |
formname => 'document.cu', |
formname => 'document.cu', |
kerb_def_dom => 'MSU.EDU', |
kerb_def_dom => 'MSU.EDU', |
Line 1876 sub authform_kerberos{
|
Line 1920 sub authform_kerberos{
|
$check4 = ' checked="on"'; |
$check4 = ' checked="on"'; |
} |
} |
$krbarg = $in{'kerb_def_dom'}; |
$krbarg = $in{'kerb_def_dom'}; |
if (grep(/^curr_authtype$/,(keys(%in)))) { |
if (defined($in{'curr_authtype'})) { |
if ($in{'curr_authtype'} =~ m/^krb(\d+)$/) { |
if ($in{'curr_authtype'} eq 'krb') { |
$krbver = $1; |
|
$krbcheck = ' checked="on"'; |
$krbcheck = ' checked="on"'; |
if ($krbver eq '5') { |
if (defined($in{'curr_kerb_ver'})) { |
$check5 = ' checked="on"'; |
if ($in{'curr_krb_ver'} eq '5') { |
$check4 = ''; |
$check5 = ' checked="on"'; |
} else { |
$check4 = ''; |
$check4 = ' checked="on"'; |
} else { |
$check5 = ''; |
$check4 = ' checked="on"'; |
|
$check5 = ''; |
|
} |
} |
} |
if (grep(/^curr_autharg$/,(keys(%in)))) { |
if (defined($in{'curr_autharg'})) { |
$krbarg = $in{'curr_autharg'}; |
$krbarg = $in{'curr_autharg'}; |
} |
} |
if (!$can_assign{'krb4'} && !$can_assign{'krb5'}) { |
if (!$can_assign{'krb4'} && !$can_assign{'krb5'}) { |
if (grep(/^curr_autharg$/,(keys(%in)))) { |
if (defined($in{'curr_autharg'})) { |
$result = |
$result = |
&mt('Currently Kerberos authenticated with domain [_1] Version [_2].', |
&mt('Currently Kerberos authenticated with domain [_1] Version [_2].', |
$in{'curr_autharg'},$krbver); |
$in{'curr_autharg'},$krbver); |
Line 1910 sub authform_kerberos{
|
Line 1955 sub authform_kerberos{
|
if (!$can_assign{'krb4'} && !$can_assign{'krb5'}) { |
if (!$can_assign{'krb4'} && !$can_assign{'krb5'}) { |
return; |
return; |
} elsif ($authtype eq '') { |
} elsif ($authtype eq '') { |
if (grep(/^mode$/,(keys(%in)))) { |
if (defined($in{'mode'})) { |
if ($in{'mode'} eq 'modifycourse') { |
if ($in{'mode'} eq 'modifycourse') { |
if ($authnum == 1) { |
if ($authnum == 1) { |
$authtype = '<input type="hidden" name="login" value="krb">'; |
$authtype = '<input type="hidden" name="login" value="krb">'; |
Line 1971 sub authform_internal{
|
Line 2016 sub authform_internal{
|
); |
); |
my ($intcheck,$intarg,$result,$authtype,$autharg,$jscall); |
my ($intcheck,$intarg,$result,$authtype,$autharg,$jscall); |
my ($authnum,%can_assign) = &get_assignable_auth($in{'domain'}); |
my ($authnum,%can_assign) = &get_assignable_auth($in{'domain'}); |
if (grep(/^curr_authtype$/,(keys(%in)))) { |
if (defined($in{'curr_authtype'})) { |
if ($in{'curr_authtype'} eq 'internal:') { |
if ($in{'curr_authtype'} eq 'int') { |
if ($can_assign{'int'}) { |
if ($can_assign{'int'}) { |
$intcheck = 'checked="on" '; |
$intcheck = 'checked="on" '; |
if (grep(/^curr_autharg$/,(keys(%in)))) { |
if (defined($in{'curr_autharg'})) { |
$intarg = $in{'curr_autharg'}; |
$intarg = $in{'curr_autharg'}; |
} |
} |
} else { |
} else { |
Line 1991 sub authform_internal{
|
Line 2036 sub authform_internal{
|
if (!$can_assign{'int'}) { |
if (!$can_assign{'int'}) { |
return; |
return; |
} elsif ($authtype eq '') { |
} elsif ($authtype eq '') { |
if (grep(/^mode$/,(keys(%in)))) { |
if (defined($in{'mode'})) { |
if ($in{'mode'} eq 'modifycourse') { |
if ($in{'mode'} eq 'modifycourse') { |
if ($authnum == 1) { |
if ($authnum == 1) { |
$authtype = '<input type="hidden" name="login" value="int">'; |
$authtype = '<input type="hidden" name="login" value="int">'; |
Line 2020 sub authform_local{
|
Line 2065 sub authform_local{
|
); |
); |
my ($loccheck,$locarg,$result,$authtype,$autharg,$jscall); |
my ($loccheck,$locarg,$result,$authtype,$autharg,$jscall); |
my ($authnum,%can_assign) = &get_assignable_auth($in{'domain'}); |
my ($authnum,%can_assign) = &get_assignable_auth($in{'domain'}); |
if (grep(/^curr_authtype$/,(keys(%in)))) { |
if (defined($in{'curr_authtype'})) { |
if ($in{'curr_authtype'} eq 'localauth:') { |
if ($in{'curr_authtype'} eq 'loc') { |
if ($can_assign{'loc'}) { |
if ($can_assign{'loc'}) { |
$loccheck = 'checked="on" '; |
$loccheck = 'checked="on" '; |
if (grep(/^curr_autharg$/,(keys(%in)))) { |
if (defined($in{'curr_autharg'})) { |
$locarg = $in{'curr_autharg'}; |
$locarg = $in{'curr_autharg'}; |
} |
} |
} else { |
} else { |
Line 2040 sub authform_local{
|
Line 2085 sub authform_local{
|
if (!$can_assign{'loc'}) { |
if (!$can_assign{'loc'}) { |
return; |
return; |
} elsif ($authtype eq '') { |
} elsif ($authtype eq '') { |
if (grep(/^mode$/,(keys(%in)))) { |
if (defined($in{'mode'})) { |
if ($in{'mode'} eq 'modifycourse') { |
if ($in{'mode'} eq 'modifycourse') { |
if ($authnum == 1) { |
if ($authnum == 1) { |
$authtype = '<input type="hidden" name="login" value="loc">'; |
$authtype = '<input type="hidden" name="login" value="loc">'; |
Line 2069 sub authform_filesystem{
|
Line 2114 sub authform_filesystem{
|
); |
); |
my ($fsyscheck,$result,$authtype,$autharg,$jscall); |
my ($fsyscheck,$result,$authtype,$autharg,$jscall); |
my ($authnum,%can_assign) = &get_assignable_auth($in{'domain'}); |
my ($authnum,%can_assign) = &get_assignable_auth($in{'domain'}); |
if (grep(/^curr_authtype$/,(keys(%in)))) { |
if (defined($in{'curr_authtype'})) { |
if ($in{'curr_authtype'} eq 'unix:') { |
if ($in{'curr_authtype'} eq 'fsys') { |
if ($can_assign{'fsys'}) { |
if ($can_assign{'fsys'}) { |
$fsyscheck = 'checked="on" '; |
$fsyscheck = 'checked="on" '; |
} else { |
} else { |
Line 2086 sub authform_filesystem{
|
Line 2131 sub authform_filesystem{
|
if (!$can_assign{'fsys'}) { |
if (!$can_assign{'fsys'}) { |
return; |
return; |
} elsif ($authtype eq '') { |
} elsif ($authtype eq '') { |
if (grep(/^mode$/,(keys(%in)))) { |
if (defined($in{'mode'})) { |
if ($in{'mode'} eq 'modifycourse') { |
if ($in{'mode'} eq 'modifycourse') { |
if ($authnum == 1) { |
if ($authnum == 1) { |
$authtype = '<input type="hidden" name="login" value="fsys">'; |
$authtype = '<input type="hidden" name="login" value="fsys">'; |
Line 4084 table.thinborder tr td {
|
Line 4129 table.thinborder tr td {
|
|
|
form, .inline { display: inline; } |
form, .inline { display: inline; } |
.center { text-align: center; } |
.center { text-align: center; } |
.LC_filename {font-family: $mono;} |
.LC_filename {font-family: $mono; white-space:pre;} |
.LC_error { |
.LC_error { |
color: red; |
color: red; |
font-size: larger; |
font-size: larger; |
Line 4330 table.LC_data_table, table.LC_mail_list
|
Line 4375 table.LC_data_table, table.LC_mail_list
|
} |
} |
table.LC_nested_outer { |
table.LC_nested_outer { |
border: 1px solid #000000; |
border: 1px solid #000000; |
border-collapse: separate; |
border-collapse: collapse; |
border-spacing: 0px; |
border-spacing: 0px; |
width: 100%; |
width: 100%; |
} |
} |
table.LC_nested { |
table.LC_nested { |
border: 0px; |
border: 0px; |
border-collapse: separate; |
border-collapse: collapse; |
border-spacing: 0px; |
border-spacing: 0px; |
width: 100%; |
width: 100%; |
} |
} |
Line 4388 table.LC_nested tr.LC_info_row td {
|
Line 4433 table.LC_nested tr.LC_info_row td {
|
font-size: small; |
font-size: small; |
text-align: center; |
text-align: center; |
} |
} |
table.LC_nested tr.LC_info_row td.LC_left_item { |
table.LC_nested tr.LC_info_row td.LC_left_item, |
|
table.LC_nested_outer tr th.LC_left_item { |
text-align: left; |
text-align: left; |
} |
} |
table.LC_nested td { |
table.LC_nested td { |
Line 4912 table.LC_sty_end {
|
Line 4958 table.LC_sty_end {
|
background: #FFBBBB; |
background: #FFBBBB; |
} |
} |
|
|
|
table.LC_double_column { |
|
border-width: 0px; |
|
border-collapse: collapse; |
|
width: 100%; |
|
padding: 2px; |
|
} |
|
|
|
table.LC_double_column tr td.LC_left_col { |
|
top: 2px; |
|
left: 2px; |
|
width: 47%; |
|
vertical-align: top; |
|
} |
|
|
|
table.LC_double_column tr td.LC_right_col { |
|
top: 2px; |
|
right: 2px; |
|
width: 47%; |
|
vertical-align: top; |
|
} |
|
|
|
div.LC_left_float { |
|
float: left; |
|
padding-right: 5%; |
|
padding:bottom: 4px; |
|
} |
|
|
|
div.LC_clear_float_header { |
|
padding:bottom: 2px; |
|
} |
|
|
|
div.LC_clear_float_footer { |
|
padding:top: 10px; |
|
clear: both; |
|
} |
|
|
END |
END |
} |
} |
|
|
Line 5028 Inputs: none
|
Line 5110 Inputs: none
|
sub xml_begin { |
sub xml_begin { |
my $output=''; |
my $output=''; |
|
|
&Apache::lonhtmlcommon::init_htmlareafields(); |
if ($env{'internal.start_page'}==1) { |
|
&Apache::lonhtmlcommon::init_htmlareafields(); |
|
} |
|
|
if ($env{'browser.mathml'}) { |
if ($env{'browser.mathml'}) { |
$output='<?xml version="1.0"?>' |
$output='<?xml version="1.0"?>' |