version 1.948.2.21, 2010/12/30 21:56:28
|
version 1.948.2.33.2.1, 2012/02/09 00:45:40
|
Line 409 sub studentbrowser_javascript {
|
Line 409 sub studentbrowser_javascript {
|
<script type="text/javascript" language="Javascript"> |
<script type="text/javascript" language="Javascript"> |
// <![CDATA[ |
// <![CDATA[ |
var stdeditbrowser; |
var stdeditbrowser; |
function openstdbrowser(formname,uname,udom,roleflag,ignorefilter,courseadvonly) { |
function openstdbrowser(formname,uname,udom,clicker,roleflag,ignorefilter,courseadvonly) { |
var url = '/adm/pickstudent?'; |
var url = '/adm/pickstudent?'; |
var filter; |
var filter; |
if (!ignorefilter) { |
if (!ignorefilter) { |
Line 421 sub studentbrowser_javascript {
|
Line 421 sub studentbrowser_javascript {
|
} |
} |
} |
} |
url += 'form=' + formname + '&unameelement='+uname+ |
url += 'form=' + formname + '&unameelement='+uname+ |
'&udomelement='+udom; |
'&udomelement='+udom+ |
|
'&clicker='+clicker; |
if (roleflag) { url+="&roles=1"; } |
if (roleflag) { url+="&roles=1"; } |
if (courseadvonly) { url+="&courseadvonly=1"; } |
if (courseadvonly) { url+="&courseadvonly=1"; } |
var title = 'Student_Browser'; |
var title = 'Student_Browser'; |
Line 436 ENDSTDBRW
|
Line 437 ENDSTDBRW
|
} |
} |
|
|
sub selectstudent_link { |
sub selectstudent_link { |
my ($form,$unameele,$udomele,$courseadvonly)=@_; |
my ($form,$unameele,$udomele,$courseadvonly,$clickerid)=@_; |
my $callargs = "'".$form."','".$unameele."','".$udomele."'"; |
my $callargs = "'".&Apache::lonhtmlcommon::entity_encode($form)."','". |
|
&Apache::lonhtmlcommon::entity_encode($unameele)."','". |
|
&Apache::lonhtmlcommon::entity_encode($udomele)."'"; |
if ($env{'request.course.id'}) { |
if ($env{'request.course.id'}) { |
if (!&Apache::lonnet::allowed('srm',$env{'request.course.id'}) |
if (!&Apache::lonnet::allowed('srm',$env{'request.course.id'}) |
&& !&Apache::lonnet::allowed('srm',$env{'request.course.id'}. |
&& !&Apache::lonnet::allowed('srm',$env{'request.course.id'}. |
'/'.$env{'request.course.sec'})) { |
'/'.$env{'request.course.sec'})) { |
return ''; |
return ''; |
} |
} |
|
$callargs.=",'".&Apache::lonhtmlcommon::entity_encode($clickerid)."'"; |
if ($courseadvonly) { |
if ($courseadvonly) { |
$callargs .= ",'',1,1"; |
$callargs .= ",'',1,1"; |
} |
} |
Line 452 sub selectstudent_link {
|
Line 456 sub selectstudent_link {
|
&mt('Select User').'</a></span>'; |
&mt('Select User').'</a></span>'; |
} |
} |
if ($env{'request.role'}=~/^(au|dc|su)/) { |
if ($env{'request.role'}=~/^(au|dc|su)/) { |
$callargs .= ",1"; |
$callargs .= ",'',1"; |
return '<span class="LC_nobreak">'. |
return '<span class="LC_nobreak">'. |
'<a href="javascript:openstdbrowser('.$callargs.');">'. |
'<a href="javascript:openstdbrowser('.$callargs.');">'. |
&mt('Select User').'</a></span>'; |
&mt('Select User').'</a></span>'; |
Line 596 ENDJS
|
Line 600 ENDJS
|
|
|
} |
} |
|
|
|
sub javascript_array_indexof { |
|
return <<ENDJS; |
|
<script type="text/javascript" language="JavaScript"> |
|
// <![CDATA[ |
|
|
|
if (!Array.prototype.indexOf) { |
|
Array.prototype.indexOf = function (searchElement /*, fromIndex */ ) { |
|
"use strict"; |
|
if (this === void 0 || this === null) { |
|
throw new TypeError(); |
|
} |
|
var t = Object(this); |
|
var len = t.length >>> 0; |
|
if (len === 0) { |
|
return -1; |
|
} |
|
var n = 0; |
|
if (arguments.length > 0) { |
|
n = Number(arguments[1]); |
|
if (n !== n) { // shortcut for verifying if it's NaN |
|
n = 0; |
|
} else if (n !== 0 && n !== (1 / 0) && n !== -(1 / 0)) { |
|
n = (n > 0 || -1) * Math.floor(Math.abs(n)); |
|
} |
|
} |
|
if (n >= len) { |
|
return -1; |
|
} |
|
var k = n >= 0 ? n : Math.max(len - Math.abs(n), 0); |
|
for (; k < len; k++) { |
|
if (k in t && t[k] === searchElement) { |
|
return k; |
|
} |
|
} |
|
return -1; |
|
} |
|
} |
|
|
|
// ]]> |
|
</script> |
|
|
|
ENDJS |
|
|
|
} |
|
|
sub userbrowser_javascript { |
sub userbrowser_javascript { |
my $id_functions = &javascript_index_functions(); |
my $id_functions = &javascript_index_functions(); |
return <<"ENDUSERBRW"; |
return <<"ENDUSERBRW"; |
Line 766 sub selectcourse_link {
|
Line 815 sub selectcourse_link {
|
} elsif ($selecttype eq 'Course/Community') { |
} elsif ($selecttype eq 'Course/Community') { |
$linktext = &mt('Select Course/Community'); |
$linktext = &mt('Select Course/Community'); |
$type = ''; |
$type = ''; |
|
} elsif ($selecttype eq 'Select') { |
|
$linktext = &mt('Select'); |
|
$type = ''; |
} |
} |
return '<span class="LC_nobreak">' |
return '<span class="LC_nobreak">' |
."<a href='" |
."<a href='" |
Line 3570 sub format_previous_attempt_value {
|
Line 3622 sub format_previous_attempt_value {
|
my @anskeys = sort(keys(%answers)); |
my @anskeys = sort(keys(%answers)); |
if (@anskeys == 1) { |
if (@anskeys == 1) { |
my $answer = $answers{$anskeys[0]}; |
my $answer = $answers{$anskeys[0]}; |
if ($answer =~ m{\Q\0\E}) { |
if ($answer =~ m{\0}) { |
$answer =~ s{\Q\0\E}{, }g; |
$answer =~ s{\0}{,}g; |
} |
} |
my $tag_internal_answer_name = 'INTERNAL'; |
my $tag_internal_answer_name = 'INTERNAL'; |
if ($anskeys[0] eq $tag_internal_answer_name) { |
if ($anskeys[0] eq $tag_internal_answer_name) { |
Line 3582 sub format_previous_attempt_value {
|
Line 3634 sub format_previous_attempt_value {
|
} else { |
} else { |
foreach my $ans (@anskeys) { |
foreach my $ans (@anskeys) { |
my $answer = $answers{$ans}; |
my $answer = $answers{$ans}; |
if ($answer =~ m{\Q\0\E}) { |
if ($answer =~ m{\0}) { |
$answer =~ s{\Q\0\E}{, }g; |
$answer =~ s{\0}{,}g; |
} |
} |
$value .= $ans.'='.$answer.'<br />';; |
$value .= $ans.'='.$answer.'<br />';; |
} |
} |
Line 4282 sub get_domainconf {
|
Line 4334 sub get_domainconf {
|
if (ref($domconfig{'login'}{$key}) eq 'HASH') { |
if (ref($domconfig{'login'}{$key}) eq 'HASH') { |
if ($key eq 'loginvia') { |
if ($key eq 'loginvia') { |
if (ref($domconfig{'login'}{'loginvia'}) eq 'HASH') { |
if (ref($domconfig{'login'}{'loginvia'}) eq 'HASH') { |
my @ids = &Apache::lonnet::current_machine_ids(); |
foreach my $hostname (keys(%{$domconfig{'login'}{'loginvia'}})) { |
foreach my $hostname (@ids) { |
|
if (ref($domconfig{'login'}{'loginvia'}{$hostname}) eq 'HASH') { |
if (ref($domconfig{'login'}{'loginvia'}{$hostname}) eq 'HASH') { |
if ($domconfig{'login'}{'loginvia'}{$hostname}{'server'}) { |
if ($domconfig{'login'}{'loginvia'}{$hostname}{'server'}) { |
my $server = $domconfig{'login'}{'loginvia'}{$hostname}{'server'}; |
my $server = $domconfig{'login'}{'loginvia'}{$hostname}{'server'}; |
Line 4292 sub get_domainconf {
|
Line 4343 sub get_domainconf {
|
|
|
$designhash{$udom.'.login.loginvia_'.$hostname} = $server.':'.$domconfig{'login'}{'loginvia'}{$hostname}{'custompath'}; |
$designhash{$udom.'.login.loginvia_'.$hostname} = $server.':'.$domconfig{'login'}{'loginvia'}{$hostname}{'custompath'}; |
} else { |
} else { |
$designhash{$udom.'.login.loginvia_'.$hostname} = $server.':'.$domconfig{'login'}{'loginvia'}{$hostname}{'serverpath'}; |
$designhash{$udom.'.login.loginvia_'.$hostname} = $server.':'.$domconfig{'login'}{'loginvia'}{$hostname}{'serverpath'}; |
} |
} |
if ($domconfig{'login'}{'loginvia'}{$hostname}{'exempt'}) { |
if ($domconfig{'login'}{'loginvia'}{$hostname}{'exempt'}) { |
$designhash{$udom.'.login.loginvia_exempt_'.$hostname} = $domconfig{'login'}{'loginvia'}{$hostname}{'exempt'}; |
$designhash{$udom.'.login.loginvia_exempt_'.$hostname} = $domconfig{'login'}{'loginvia'}{$hostname}{'exempt'}; |
Line 4433 sub designparm {
|
Line 4484 sub designparm {
|
return $env{'environment.color.'.$which}; |
return $env{'environment.color.'.$which}; |
} |
} |
$domain=&determinedomain($domain); |
$domain=&determinedomain($domain); |
my %domdesign = &get_domainconf($domain); |
my %domdesign; |
|
unless ($domain eq 'public') { |
|
%domdesign = &get_domainconf($domain); |
|
} |
my $output; |
my $output; |
if ($domdesign{$domain.'.'.$which} ne '') { |
if ($domdesign{$domain.'.'.$which} ne '') { |
$output = $domdesign{$domain.'.'.$which}; |
$output = $domdesign{$domain.'.'.$which}; |
Line 4496 Returns: HTML div with $content
|
Line 4550 Returns: HTML div with $content
|
sub head_subbox { |
sub head_subbox { |
my ($content)=@_; |
my ($content)=@_; |
my $output = |
my $output = |
'<div id="LC_head_subbox">' |
'<div class="LC_head_subbox">' |
.$content |
.$content |
.'</div>' |
.'</div>' |
} |
} |
Line 4506 sub head_subbox {
|
Line 4560 sub head_subbox {
|
|
|
=item * &CSTR_pageheader() |
=item * &CSTR_pageheader() |
|
|
Inputs: ./. |
Input: (optional) filename from which breadcrumb trail is built. |
|
In most cases no input is needed, as $env{'request.filename'} |
|
is appropriate for use in building the breadcrumb trail. |
|
|
Returns: HTML div with CSTR path and recent box |
Returns: HTML div with CSTR path and recent box |
To be included on Construction Space pages |
To be included on Construction Space pages |
Line 4514 Returns: HTML div with CSTR path and rec
|
Line 4570 Returns: HTML div with CSTR path and rec
|
=cut |
=cut |
|
|
sub CSTR_pageheader { |
sub CSTR_pageheader { |
# this is for resources; directories have customtitle, and crumbs |
my ($trailfile) = @_; |
# and select recent are created in lonpubdir.pm |
if ($trailfile eq '') { |
|
$trailfile = $env{'request.filename'}; |
|
} |
|
|
|
# this is for resources; directories have customtitle, and crumbs |
|
# and select recent are created in lonpubdir.pm |
|
|
my ($uname,$thisdisfn)= |
my ($uname,$thisdisfn)= |
($env{'request.filename'} =~ m|^/home/([^/]+)/public_html/(.*)|); |
($trailfile =~ m|^/home/([^/]+)/public_html/(.*)|); |
my $formaction='/priv/'.$uname.'/'.$thisdisfn; |
my $formaction='/priv/'.$uname.'/'.$thisdisfn; |
$formaction=~s/\/+/\//g; |
$formaction=~s/\/+/\//g; |
|
|
Line 4769 sub bodytag {
|
Line 4831 sub bodytag {
|
$dc_info = qq|<span class="LC_cusr_subheading">($dc_info)</span>|; |
$dc_info = qq|<span class="LC_cusr_subheading">($dc_info)</span>|; |
} |
} |
|
|
$bodytag .= qq|<div id="LC_nav_bar">$name $role</div> |
unless ($env{'form.inhibitmenu'}) { |
<ol class="LC_primary_menu LC_right"> |
$bodytag .= qq|<div id="LC_nav_bar">$name $role</div> |
<li>$menu</li> |
<ol class="LC_primary_menu LC_right"> |
</ol><div id="LC_realm"> $realm $dc_info</div>| unless $env{'form.inhibitmenu'}; |
<li>$menu</li> |
|
</ol><div id="LC_realm"> $realm $dc_info</div>|; |
|
} |
|
|
return(<<ENDBODY); |
return(<<ENDBODY); |
$bodytag |
$bodytag |
<table id="LC_title_bar" class="LC_with_remote"> |
<table id="LC_title_bar" class="LC_with_remote"> |
Line 5157 td.LC_table_cell_checkbox {
|
Line 5222 td.LC_table_cell_checkbox {
|
overflow: hidden; |
overflow: hidden; |
margin: 0; |
margin: 0; |
padding: 0; |
padding: 0; |
|
text-align: left; |
} |
} |
|
|
/* Preliminary fix to hide breadcrumbs inside remote control window */ |
/* Preliminary fix to hide breadcrumbs inside remote control window */ |
Line 5164 td.LC_table_cell_checkbox {
|
Line 5230 td.LC_table_cell_checkbox {
|
display:none; |
display:none; |
} |
} |
|
|
#LC_head_subbox { |
.LC_head_subbox { |
clear:both; |
clear:both; |
background: #F8F8F8; /* $sidebg; */ |
background: #F8F8F8; /* $sidebg; */ |
border: 1px solid $sidebg; |
border: 1px solid $sidebg; |
margin: 0 0 10px 0; |
margin: 0 0 10px 0; |
padding: 3px; |
padding: 3px; |
|
text-align: left; |
} |
} |
|
|
.LC_fontsize_medium { |
.LC_fontsize_medium { |
Line 5192 td.LC_table_cell_checkbox {
|
Line 5259 td.LC_table_cell_checkbox {
|
|
|
li.LC_menubuttons_inline_text img,a { |
li.LC_menubuttons_inline_text img,a { |
cursor:pointer; |
cursor:pointer; |
|
text-decoration: none; |
} |
} |
|
|
.LC_menubuttons_link { |
.LC_menubuttons_link { |
Line 6147 fieldset > legend {
|
Line 6215 fieldset > legend {
|
|
|
#LC_nav_bar { |
#LC_nav_bar { |
float: left; |
float: left; |
|
background-color: $pgbg_or_bgcolor; |
margin: 0 0 2px 0; |
margin: 0 0 2px 0; |
} |
} |
|
|
Line 6155 fieldset > legend {
|
Line 6224 fieldset > legend {
|
padding: 0; |
padding: 0; |
font-weight: bold; |
font-weight: bold; |
text-align: center; |
text-align: center; |
|
background-color: $pgbg_or_bgcolor; |
} |
} |
|
|
#LC_nav_bar em { |
#LC_nav_bar em { |
Line 6170 fieldset > legend {
|
Line 6240 fieldset > legend {
|
ol.LC_primary_menu { |
ol.LC_primary_menu { |
float: right; |
float: right; |
margin: 0; |
margin: 0; |
|
background-color: $pgbg_or_bgcolor; |
} |
} |
|
|
span.LC_new_message{ |
ol.LC_primary_menu a.LC_new_message { |
font-weight:bold; |
font-weight:bold; |
color: darkred; |
color: darkred; |
} |
} |
Line 6229 ul#LC_secondary_menu {
|
Line 6300 ul#LC_secondary_menu {
|
padding: 0; |
padding: 0; |
margin: 0; |
margin: 0; |
width: 100%; |
width: 100%; |
|
text-align: left; |
} |
} |
|
|
ul#LC_secondary_menu li { |
ul#LC_secondary_menu li { |
Line 7072 sub simple_error_page {
|
Line 7144 sub simple_error_page {
|
sub continue_data_table_row { |
sub continue_data_table_row { |
my ($add_class) = @_; |
my ($add_class) = @_; |
my $css_class = ($row_count[0] % 2)?'LC_odd_row':'LC_even_row'; |
my $css_class = ($row_count[0] % 2)?'LC_odd_row':'LC_even_row'; |
$css_class = (join(' ',$css_class,$add_class)) unless ($add_class eq '');; |
$css_class = (join(' ',$css_class,$add_class)) unless ($add_class eq ''); |
return '<tr class="'.$css_class.'">'."\n";; |
return '<tr class="'.$css_class.'">'."\n";; |
} |
} |
|
|
Line 7820 sub get_secgrprole_info {
|
Line 7892 sub get_secgrprole_info {
|
} |
} |
|
|
sub user_picker { |
sub user_picker { |
my ($dom,$srch,$forcenewuser,$caller,$cancreate,$usertype) = @_; |
my ($dom,$srch,$forcenewuser,$caller,$cancreate,$usertype,$context) = @_; |
my $currdom = $dom; |
my $currdom = $dom; |
my %curr_selected = ( |
my %curr_selected = ( |
srchin => 'dom', |
srchin => 'dom', |
Line 7911 sub user_picker {
|
Line 7983 sub user_picker {
|
$srchtypesel .= "\n </select>\n"; |
$srchtypesel .= "\n </select>\n"; |
|
|
my ($newuserscript,$new_user_create); |
my ($newuserscript,$new_user_create); |
|
my $context_dom = $env{'request.role.domain'}; |
|
if ($context eq 'requestcrs') { |
|
if ($env{'form.coursedom'} ne '') { |
|
$context_dom = $env{'form.coursedom'}; |
|
} |
|
} |
if ($forcenewuser) { |
if ($forcenewuser) { |
if (ref($srch) eq 'HASH') { |
if (ref($srch) eq 'HASH') { |
if ($srch->{'srchby'} eq 'uname' && $srch->{'srchtype'} eq 'exact' && $srch->{'srchin'} eq 'dom' && $srch->{'srchdomain'} eq $env{'request.role.domain'}) { |
if ($srch->{'srchby'} eq 'uname' && $srch->{'srchtype'} eq 'exact' && $srch->{'srchin'} eq 'dom' && $srch->{'srchdomain'} eq $context_dom) { |
if ($cancreate) { |
if ($cancreate) { |
$new_user_create = '<p> <input type="submit" name="forcenew" value="'.&HTML::Entities::encode(&mt('Make new user "[_1]"',$srchterm),'<>&"').'" onclick="javascript:setSearch(\'1\','.$caller.');" /> </p>'; |
$new_user_create = '<p> <input type="submit" name="forcenew" value="'.&HTML::Entities::encode(&mt('Make new user "[_1]"',$srchterm),'<>&"').'" onclick="javascript:setSearch(\'1\','.$caller.');" /> </p>'; |
} else { |
} else { |
Line 7925 sub user_picker {
|
Line 8002 sub user_picker {
|
); |
); |
$new_user_create = '<p class="LC_warning">' |
$new_user_create = '<p class="LC_warning">' |
.&mt("You are not authorized to create new $usertypetext{$usertype} users in this domain.") |
.&mt("You are not authorized to create new $usertypetext{$usertype} users in this domain.") |
.' ' |
.'<br />' |
.&mt('Please contact the [_1]helpdesk[_2] for assistance.' |
.&mt('Enter a valid e-mail address as the username for the new user.').' '.&mt('Please contact the [_1]helpdesk[_2] for assistance.' |
,'<a href="'.$helplink.'">','</a>') |
,'<a href="'.$helplink.'">','</a>') |
.'</p><br />'; |
.'</p><br />'; |
} |
} |
} |
} |
Line 7953 function setSearch(createnew,callingForm
|
Line 8030 function setSearch(createnew,callingForm
|
} |
} |
} |
} |
for (var i=0; i<callingForm.srchdomain.length; i++) { |
for (var i=0; i<callingForm.srchdomain.length; i++) { |
if (callingForm.srchdomain.options[i].value == '$env{'request.role.domain'}') { |
if (callingForm.srchdomain.options[i].value == '$context_dom') { |
callingForm.srchdomain.selectedIndex = i; |
callingForm.srchdomain.selectedIndex = i; |
} |
} |
} |
} |
Line 9013 sub modify_html_refs {
|
Line 9090 sub modify_html_refs {
|
if ($allfiles{$ref}) { |
if ($allfiles{$ref}) { |
my $newname = $orig; |
my $newname = $orig; |
my ($attrib_regexp,$codebase); |
my ($attrib_regexp,$codebase); |
my $attrib_regexp = &unescape($env{'form.embedded_attrib_'.$i}); |
$attrib_regexp = &unescape($env{'form.embedded_attrib_'.$i}); |
if ($attrib_regexp =~ /:/) { |
if ($attrib_regexp =~ /:/) { |
$attrib_regexp =~ s/\:/|/g; |
$attrib_regexp =~ s/\:/|/g; |
} |
} |
Line 9022 sub modify_html_refs {
|
Line 9099 sub modify_html_refs {
|
$count += $numchg; |
$count += $numchg; |
} |
} |
if ($env{'form.embedded_codebase_'.$i} ne '') { |
if ($env{'form.embedded_codebase_'.$i} ne '') { |
my $codebase = &unescape($env{'form.embedded_codebase_'.$i}); |
$codebase = &unescape($env{'form.embedded_codebase_'.$i}); |
my $numchg = ($content =~ s/(codebase\s*=\s*["']?)\Q$codebase\E(["']?)/$1.$2/i); #' stupid emacs |
my $numchg = ($content =~ s/(codebase\s*=\s*["']?)\Q$codebase\E(["']?)/$1.$2/i); #' stupid emacs |
$codebasecount ++; |
$codebasecount ++; |
} |
} |
Line 9091 sub check_for_upload {
|
Line 9168 sub check_for_upload {
|
&mt('Unable to upload [_1]. (size = [_2] bytes)', |
&mt('Unable to upload [_1]. (size = [_2] bytes)', |
'<span class="LC_filename">'.$fname.'</span>', |
'<span class="LC_filename">'.$fname.'</span>', |
$filesize).'<br />'. |
$filesize).'<br />'. |
&mt('Either the file you attempted to upload was empty, or your web browser was unable to read its contents.').'<br />'; |
&mt('Either the file you attempted to upload was empty, or your web browser was unable to read its contents.').'<br />'. |
'</span>'; |
'</span>'; |
return ('zero_bytes',$msg); |
return ('zero_bytes',$msg); |
} |
} |
Line 11352 sub init_user_environment {
|
Line 11429 sub init_user_environment {
|
$env{'browser.interface'}=$form->{'interface'}; |
$env{'browser.interface'}=$form->{'interface'}; |
} |
} |
my %is_adv = ( is_adv => $env{'user.adv'} ); |
my %is_adv = ( is_adv => $env{'user.adv'} ); |
my %domdef = &Apache::lonnet::get_domain_defaults($domain); |
my %domdef; |
|
unless ($domain eq 'public') { |
|
%domdef = &Apache::lonnet::get_domain_defaults($domain); |
|
} |
|
|
foreach my $tool ('aboutme','blog','portfolio') { |
foreach my $tool ('aboutme','blog','portfolio') { |
$userenv{'availabletools.'.$tool} = |
$userenv{'availabletools.'.$tool} = |