version 1.586, 2007/09/19 06:24:26
|
version 1.590, 2007/09/27 15:36:23
|
Line 1074 sub changable_area {
|
Line 1074 sub changable_area {
|
|
|
=pod |
=pod |
|
|
|
=item * viewport_geometry_js { |
|
|
|
Provides javascript object (Geometry) which can provide information about the viewport geometry for the client browser. |
|
|
|
=cut |
|
|
|
|
|
sub viewport_geometry_js { |
|
return <<"GEOMETRY"; |
|
var Geometry = {}; |
|
function init_geometry() { |
|
if (Geometry.init) { return }; |
|
Geometry.init=1; |
|
if (window.innerHeight) { |
|
Geometry.getViewportHeight = function() { return window.innerHeight; }; |
|
Geometry.getViewportWidth = function() { return window.innerWidth; }; |
|
Geometry.getHorizontalScroll = function() { return window.pageXOffset; }; |
|
Geometry.getVerticalScroll = function() { return window.pageYOffset; }; |
|
} |
|
else if (document.documentElement && document.documentElement.clientHeight) { |
|
Geometry.getViewportHeight = |
|
function() { return document.documentElement.clientHeight; }; |
|
Geometry.getViewportWidth = |
|
function() { return document.documentElement.clientWidth; }; |
|
|
|
Geometry.getHorizontalScroll = |
|
function() { return document.documentElement.scrollLeft; }; |
|
Geometry.getVerticalScroll = |
|
function() { return document.documentElement.scrollTop; }; |
|
} |
|
else if (document.body.clientHeight) { |
|
Geometry.getViewportHeight = |
|
function() { return document.body.clientHeight; }; |
|
Geometry.getViewportWidth = |
|
function() { return document.body.clientWidth; }; |
|
Geometry.getHorizontalScroll = |
|
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 |
=item * resize_textarea_js |
|
|
emits the needed javascript to resize a textarea to be as big as possible |
emits the needed javascript to resize a textarea to be as big as possible |
Line 1087 to be attached to the <body> for the onl
|
Line 1158 to be attached to the <body> for the onl
|
=cut |
=cut |
|
|
sub resize_textarea_js { |
sub resize_textarea_js { |
|
my $geometry = &viewport_geometry_js(); |
return <<"RESIZE"; |
return <<"RESIZE"; |
<script type="text/javascript"> |
<script type="text/javascript"> |
var Geometry = {}; |
$geometry |
function init_geometry() { |
|
if (Geometry.init) { return }; |
function getX(element) { |
Geometry.init=1; |
var x = 0; |
if (window.innerHeight) { |
while (element) { |
Geometry.getViewportHeight = function() { return window.innerHeight; }; |
x += element.offsetLeft; |
} |
element = element.offsetParent; |
else if (document.documentElement && document.documentElement.clientHeight) { |
} |
Geometry.getViewportHeight = |
return x; |
function() { return document.documentElement.clientHeight; }; |
} |
} |
function getY(element) { |
else if (document.body.clientHeight) { |
var y = 0; |
Geometry.getViewportHeight = |
while (element) { |
function() { return document.body.clientHeight; }; |
y += element.offsetTop; |
|
element = element.offsetParent; |
} |
} |
|
return y; |
} |
} |
|
|
|
|
function resize_textarea(textarea_id,bottom_id) { |
function resize_textarea(textarea_id,bottom_id) { |
init_geometry(); |
init_geometry(); |
var textarea = document.getElementById(textarea_id); |
var textarea = document.getElementById(textarea_id); |
//alert(textarea); |
//alert(textarea); |
|
|
var textarea_top = textarea.offsetTop; |
var textarea_top = getY(textarea); |
var textarea_height = textarea.offsetHeight; |
var textarea_height = textarea.offsetHeight; |
var bottom = document.getElementById(bottom_id); |
var bottom = document.getElementById(bottom_id); |
var bottom_top = bottom.offsetTop; |
var bottom_top = getY(bottom); |
var bottom_height = bottom.offsetHeight; |
var bottom_height = bottom.offsetHeight; |
var window_height = Geometry.getViewportHeight(); |
var window_height = Geometry.getViewportHeight(); |
var fudge = 23; |
var fudge = 23; |
var new_height = window_height-fudge-textarea_top-bottom_height; |
var new_height = window_height-fudge-textarea_top-bottom_height; |
if (new_height < 300) { |
if (new_height < 300) { |
new_height = 300; |
new_height = 300; |
Line 1332 sub domain_select {
|
Line 1407 sub domain_select {
|
|
|
=over 4 |
=over 4 |
|
|
=cut |
|
|
|
=item * multiple_select_form($name,$value,$size,$hash,$order) |
=item * multiple_select_form($name,$value,$size,$hash,$order) |
|
|
Returns a string containing a <select> element int multiple mode |
Returns a string containing a <select> element int multiple mode |
Line 1883 sub authform_kerberos{
|
Line 1956 sub authform_kerberos{
|
} |
} |
if (!$can_assign{'krb4'} && !$can_assign{'krb5'}) { |
if (!$can_assign{'krb4'} && !$can_assign{'krb5'}) { |
return; |
return; |
|
} elsif ($authtype eq '') { |
|
if (grep(/^mode$/,(keys(%in)))) { |
|
if ($in{'mode'} eq 'modifycourse') { |
|
if ($authnum == 1) { |
|
$authtype = '<input type="hidden" name="login" value="krb">'; |
|
} |
|
} |
|
} |
} |
} |
$jscall = "javascript:changed_radio('krb',$in{'formname'});"; |
$jscall = "javascript:changed_radio('krb',$in{'formname'});"; |
if ($authtype eq '') { |
if ($authtype eq '') { |
Line 1956 sub authform_internal{
|
Line 2037 sub authform_internal{
|
} |
} |
if (!$can_assign{'int'}) { |
if (!$can_assign{'int'}) { |
return; |
return; |
|
} elsif ($authtype eq '') { |
|
if (grep(/^mode$/,(keys(%in)))) { |
|
if ($in{'mode'} eq 'modifycourse') { |
|
if ($authnum == 1) { |
|
$authtype = '<input type="hidden" name="login" value="int">'; |
|
} |
|
} |
|
} |
} |
} |
$jscall = "javascript:changed_radio('int',$in{'formname'});"; |
$jscall = "javascript:changed_radio('int',$in{'formname'});"; |
if ($authtype eq '') { |
if ($authtype eq '') { |
Line 1997 sub authform_local{
|
Line 2086 sub authform_local{
|
} |
} |
if (!$can_assign{'loc'}) { |
if (!$can_assign{'loc'}) { |
return; |
return; |
|
} elsif ($authtype eq '') { |
|
if (grep(/^mode$/,(keys(%in)))) { |
|
if ($in{'mode'} eq 'modifycourse') { |
|
if ($authnum == 1) { |
|
$authtype = '<input type="hidden" name="login" value="loc">'; |
|
} |
|
} |
|
} |
} |
} |
$jscall = "javascript:changed_radio('loc',$in{'formname'});"; |
$jscall = "javascript:changed_radio('loc',$in{'formname'});"; |
if ($authtype eq '') { |
if ($authtype eq '') { |
Line 2035 sub authform_filesystem{
|
Line 2132 sub authform_filesystem{
|
} |
} |
if (!$can_assign{'fsys'}) { |
if (!$can_assign{'fsys'}) { |
return; |
return; |
|
} elsif ($authtype eq '') { |
|
if (grep(/^mode$/,(keys(%in)))) { |
|
if ($in{'mode'} eq 'modifycourse') { |
|
if ($authnum == 1) { |
|
$authtype = '<input type="hidden" name="login" value="fsys">'; |
|
} |
|
} |
|
} |
} |
} |
$jscall = "javascript:changed_radio('fsys',$in{'formname'});"; |
$jscall = "javascript:changed_radio('fsys',$in{'formname'});"; |
if ($authtype eq '') { |
if ($authtype eq '') { |
Line 2095 sub get_assignable_auth {
|
Line 2200 sub get_assignable_auth {
|
return ($authnum,%can_assign); |
return ($authnum,%can_assign); |
} |
} |
|
|
|
|
############################################################### |
############################################################### |
## Get Authentication Defaults for Domain ## |
## Get Authentication Defaults for Domain ## |
############################################################### |
############################################################### |
Line 4273 table.LC_data_table, table.LC_mail_list
|
Line 4377 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 4331 table.LC_nested tr.LC_info_row td {
|
Line 4435 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 4855 table.LC_sty_end {
|
Line 4960 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; |
|
} |
|
|
END |
END |
} |
} |
|
|