version 1.42, 2006/05/16 21:56:14
|
version 1.47, 2006/08/10 21:46:40
|
Line 32 use Apache::loncommon;
|
Line 32 use Apache::loncommon;
|
use Apache::lonhtmlcommon; |
use Apache::lonhtmlcommon; |
use Apache::lonlocal; |
use Apache::lonlocal; |
use Apache::loncoursedata; |
use Apache::loncoursedata; |
|
use Apache::longroup; |
use Apache::Constants qw(:common :http REDIRECT); |
use Apache::Constants qw(:common :http REDIRECT); |
use Time::Local; |
use Time::Local; |
use LONCAPA::Enrollment; |
use LONCAPA::Enrollment; |
Line 45 sub header {
|
Line 46 sub header {
|
|
|
sub choose_header { |
sub choose_header { |
my ($action) = @_; |
my ($action) = @_; |
|
my $notify_check = '/^note_[0-9]+$/'; |
my $scripttag = qq| |
my $scripttag = qq| |
<script language='javascript' type='text/javascript'> |
<script language='javascript' type='text/javascript'> |
<!-- |
<!-- |
Line 110 function process(calling,numauto,nummanu
|
Line 111 function process(calling,numauto,nummanu
|
checker = 0 |
checker = 0 |
} |
} |
} |
} |
|
if (calling == "notify") { |
|
var totalnote = 0; |
|
for (var i=0; i<formName.elements.length; i++) { |
|
var elementname = formName.elements[i].name; |
|
var check_name = elementname.match($notify_check); |
|
if (check_name != null) { |
|
if (formName.elements[i].checked) { |
|
totalnote ++; |
|
} |
|
} |
|
} |
|
if (totalnote > 0) { |
|
if (formName.notify[1].checked == true) { |
|
if (confirm("You have indicated that you do not want notification of roster changes messages to be sent, but "+totalnote+" have been checked as recipients.\\nClick 'OK' to erase all recipients, or 'Cancel'.")) { |
|
checker = 1; |
|
} else { |
|
checker = 0; |
|
} |
|
} |
|
} else { |
|
if (formName.notify[0].checked == true) { |
|
alert("You have indicated that you want notification of roster changes messages to be sent, but you have not selected any recipients."); |
|
checker = 0; |
|
} |
|
} |
|
} |
if (calling == "viewclass") { |
if (calling == "viewclass") { |
var totcheck = 0 |
var totcheck = 0 |
var numchk = 0 |
var numchk = 0 |
Line 478 ENDTWO
|
Line 505 ENDTWO
|
} elsif ($action eq "notify") { |
} elsif ($action eq "notify") { |
my $notifycount = 0; |
my $notifycount = 0; |
my @notified = split(/,/,$enrollvar{notifylist}); |
my @notified = split(/,/,$enrollvar{notifylist}); |
|
my @domcoord; |
|
my @showdom; |
for (my $i=0; $i<@notified; $i++) { |
for (my $i=0; $i<@notified; $i++) { |
if ($notified[$i] !~ /:/) { |
if ($notified[$i] !~ /:/) { |
$notified[$i] =~ s/\@/:/; |
$notified[$i] =~ s/\@/:/; |
Line 490 ENDTWO
|
Line 519 ENDTWO
|
} else { |
} else { |
$noteset = "OFF"; |
$noteset = "OFF"; |
} |
} |
|
my %dompersonnel = &Apache::lonnet::get_domain_roles($dom,['dc']); |
|
foreach my $server (keys(%dompersonnel)) { |
|
foreach my $user (sort(keys(%{$dompersonnel{$server}}))) { |
|
my ($trole,$uname,$udom,$runame,$rudom,$rsec) = split(/:/,$user); |
|
if (!grep(/^$uname:$udom$/,@domcoord)) { |
|
push(@domcoord,$uname.':'.$udom); |
|
} |
|
} |
|
} |
$r->print(" |
$r->print(" |
<form name=\"enter\" method=\"post\"><br/> |
<form name=\"enter\" method=\"post\"><br/> |
<table width=\"100%\" border=\"0\" cellpadding=\"6\" cellspacing=\"0\"> |
<table width=\"100%\" border=\"0\" cellpadding=\"6\" cellspacing=\"0\"> |
Line 520 ENDTWO
|
Line 557 ENDTWO
|
</td> |
</td> |
</tr> |
</tr> |
"); |
"); |
my @coursepersonnel = &Apache::lonnet::getkeys('nohist_userroles',$dom,$crs); |
my %coursepersonnel = &Apache::lonnet::dump('nohist_userroles',$dom,$crs); |
my @ccs = (); |
my @ccs; |
my @oldccs = (); |
my %pname; |
my %pname = (); |
my %notifystate; |
my %notifystate = (); |
my %status; |
foreach (@coursepersonnel) { |
my $now = time; |
my @roleinfo = split/:/,$_; |
foreach my $person (sort(keys(%coursepersonnel))) { |
if ($roleinfo[0] eq 'cc') { |
my $match = 0; |
unless (grep/^$roleinfo[1]\:$roleinfo[2]/,@ccs) { |
my ($role,$user,$usec) = ($person =~ /^([^:]+):([^:]+:[^:]+):([^:]*)/); |
my $active_cc = &Apache::loncommon::check_user_status($roleinfo[2],$roleinfo[1],$dom,$crs,'cc'); |
$user =~ s/:$//; |
if ($active_cc eq 'active') { |
my ($end,$start) = split(/:/,$coursepersonnel{$person}); |
push @ccs, $roleinfo[1].':'.$roleinfo[2]; |
if ($end == -1 || $start == -1) { |
$pname{$roleinfo[1].':'.$roleinfo[2]} = &Apache::loncommon::plainname($roleinfo[1],$roleinfo[2]); |
next; |
if (grep/^$roleinfo[1]\:$roleinfo[2]$/,@notified) { |
} |
$notifystate{$roleinfo[1].':'.$roleinfo[2]} = 1; |
if ($role eq 'cc') { |
} else { |
unless (grep(/^$user$/,@ccs)) { |
$notifystate{$roleinfo[1].':'.$roleinfo[2]} = 0; |
if ($end && $end < $now) { |
} |
$status{$user} = 'previous'; |
|
} elsif ($start > $now) { |
|
$status{$user} = 'future'; |
} else { |
} else { |
push @oldccs, $roleinfo[1].':'.$roleinfo[2]; |
$status{$user} = 'active'; |
|
} |
|
push(@ccs,$user); |
|
my ($uname,$udom) = split(/:/,$user); |
|
$pname{$user} = |
|
&Apache::loncommon::plainname($uname,$udom); |
|
if (grep(/^$user$/,@notified)) { |
|
$notifystate{$user} = 1; |
|
} else { |
|
$notifystate{$user} = 0; |
} |
} |
} |
} |
} |
} |
} |
} |
if ($notifycount > 0) { |
my $notifyshow = 0; |
foreach my $person (@notified) { |
my %lt = &Apache::lonlocal::texthash( |
unless ( (grep/^$person$/,@ccs) || ($person eq '') || (grep/^$person$/,@oldccs) ) { |
name => 'Name', |
push @ccs, $person; |
usnm => 'username:domain', |
my ($puname,$pdom) = split/:/,$person; |
coac => 'Course Access', |
$pname{$person} = &Apache::loncommon::plainname($puname,$pdom); |
curn => 'Current notification status', |
$notifystate{$person} = 1; |
notf => 'Notification?', |
} |
ntac => 'Notification active', |
} |
ntin => 'Notification inactive', |
} |
); |
my $viewer = $env{'user.name'}.':'.$env{'user.domain'}; |
|
unless ( (grep/^$viewer$/,@ccs) || ($viewer eq '') ) { |
|
push @ccs,$viewer; |
|
$pname{$viewer} = &Apache::loncommon::plainname($env{'user.name'},$env{'user.domain'}); |
|
$notifystate{$viewer} = 0; |
|
} |
|
|
|
my $notifyshow = @ccs; |
|
|
|
if (@ccs > 0) { |
if (@ccs > 0) { |
@ccs = sort @ccs; |
@ccs = sort @ccs; |
$r->print(" |
$r->print(" |
<tr> |
<tr> |
<td>The table below contains a list of course coordinators in this course. Uncheck the 'Notification?' checkbox for each person who is to be removed from the list of recipients who are currently informed of roster changes whenever any adds or drops occur during the nightly enrollment check. To include individuals who are not currently recipients, simply check the 'Notification?' checkbox. Click 'Go' to store your changes. |
<td>".&mt('The table below contains a list of [_1]s in this course.',&Apache::lonnet::plaintext('cc'))." |
</td> |
</td> |
</tr> |
</tr> |
<tr> |
<tr> |
<td>"); |
<td>"); |
$r->print(&Apache::loncommon::start_data_table()); |
$r->print(¬ifier_tables('cc',\%lt,\@ccs,\%status,\%notifystate, |
$r->print(&Apache::loncommon::start_data_table_row()); |
\%pname,\$notifyshow)); |
|
$r->print("</td></tr>"); |
|
} else { |
$r->print(" |
$r->print(" |
<th>Name</th> |
<tr> |
<th>username:domain</th> |
<td>". |
<th>Current status</th> |
&mt('No [_1]s found.',&Apache::lonnet::plaintext('cc'))." |
<th>Notification?</th> |
</td> |
"); |
</tr>"); |
$r->print(&Apache::loncommon::end_data_table_row()); |
} |
for (my $i=0; $i<@ccs; $i++) { |
my $viewer = $env{'user.name'}.':'.$env{'user.domain'}; |
$r->print(&Apache::loncommon::start_data_table_row()); |
my $showalldc = 0; |
$r->print(" |
if (grep(/^$viewer$/,@domcoord)) { |
<td>$pname{$ccs[$i]}</td> |
$showalldc = 1; |
<td><input type=\"hidden\" name=\"notifyname_$i\" value=\"$ccs[$i]\" />$ccs[$i]</td> |
} |
<td> |
foreach my $dc (@domcoord) { |
"); |
if (!grep(/^$dc$/,@ccs)) { |
if ($notifystate{$ccs[$i]} == 1) { |
if (grep(/^$dc$/,@notified)) { |
$r->print("Notification active"); |
$notifystate{$dc} = 1; |
} else { |
|
$r->print("Notification inactive"); |
|
} |
|
if ($notifystate{$ccs[$i]} == 1) { |
|
$r->print("</td><td><input type=\"checkbox\" name=\"note_$i\" checked=\"true\" /></td>"); |
|
} else { |
} else { |
$r->print("</td><td><input type=\"checkbox\" name=\"note_$i\" /></td>"); |
$notifystate{$dc} = 0; |
|
if (!$showalldc) { |
|
next; |
|
} |
} |
} |
$r->print(&Apache::loncommon::end_data_table_row()); |
my ($dcuname,$dcdom) = split(/:/,$dc); |
|
$pname{$dc} = &Apache::loncommon::plainname($dcuname,$dcdom); |
|
push(@showdom,$dc); |
} |
} |
$r->print(&Apache::loncommon::end_data_table()); |
} |
|
my $showdomnum = scalar(@showdom); |
|
if ($showdomnum) { |
$r->print(" |
$r->print(" |
<br/> |
<tr> |
<table width=\"100%\" border=\"0\" cellspadding=\"2\" cellspacing=\"2\"> |
<td> </td> |
<tr> |
</tr><tr> |
<td align=\"right\"> |
<td>"); |
<input type=\"button\" name=\"notifyset\" value=\"Go\" onclick=\"process('notify')\" /> |
if ($showalldc) { |
</td> |
$r->print(&mt("The table below contains a list of [_1]s from this course's domain who are not also [_2]s.",&Apache::lonnet::plaintext('dc'),&Apache::lonnet::plaintext('cc'))); |
</tr> |
} else { |
</table> |
$r->print(&mt("The table below contains a list of [_1] from this course's domain who currently receive notification, and are not also [_2]s.",&Apache::lonnet::plaintext('dc'),&Apache::lonnet::plaintext('cc'))); |
|
} |
|
$r->print(" |
</td> |
</td> |
</tr> |
</tr> |
"); |
|
} else { |
|
$r->print(" |
|
<tr> |
<tr> |
<td> |
<td>"); |
No course coordinators found. |
$r->print(¬ifier_tables('dc',\%lt,\@showdom,\%status,\%notifystate, |
</td> |
\%pname,\$notifyshow)); |
</tr>"); |
$r->print(" |
|
</td> |
|
</tr>"); |
|
} |
|
if (@ccs > 0 || @showdom > 0) { |
|
$r->print("<tr><td> </td></tr><tr><td>"); |
|
if ($notifycount) { |
|
$r->print(&mt("Uncheck the checkbox(es) to terminate notification for people currently informed of roster changes from the nightly enrollment update.<br />")); |
|
} |
|
if ((@ccs + @showdom) > $notifycount) { |
|
$r->print(&mt("Check the checkbox(es) to initiate notification for people not currently informed of roster changes from the nightly enrollment update.<br />")); |
|
} |
|
$r->print(&mt("Click 'Go' to store your changes.")." |
|
<br/> |
|
<table width=\"100%\" border=\"0\" cellspadding=\"2\" cellspacing=\"2\"> |
|
<tr> |
|
<td align=\"right\"> |
|
<input type=\"button\" name=\"notifyset\" value=\"Go\" onclick=\"process('notify')\" /> |
|
</td> |
|
</tr> |
|
</table> |
|
</td> |
|
</tr> |
|
"); |
} |
} |
$r->print(" |
$r->print(" |
</table> |
</table> |
<input type=\"hidden\" name=\"notifyshow\" value=\"$notifyshow\" /> |
<input type=\"hidden\" name=\"notifyshow\" value=\"$notifyshow\" /> |
<input type=\"hidden\" name=\"action\" value=\"$action\" /> |
<input type=\"hidden\" name=\"action\" value=\"$action\" /> |
<input type=\"hidden\" name=\"state\" value=\"process\" /> |
<input type=\"hidden\" name=\"state\" value=\"process\" /> |
</form> |
</form> |
"); |
"); |
} elsif ($action eq "crosslist") { |
} elsif ($action eq "crosslist") { |
my @xlists; |
my @xlists; |
Line 880 your changes.</td>
|
Line 945 your changes.</td>
|
my ($result,$perm_reqd)=&Apache::lonnet::auto_photo_permission($crs,$dom); |
my ($result,$perm_reqd)=&Apache::lonnet::auto_photo_permission($crs,$dom); |
my $can_enable = 1; |
my $can_enable = 1; |
my $institution = $Apache::lonnet::domaindescription{$dom}; |
my $institution = $Apache::lonnet::domaindescription{$dom}; |
|
my $user; |
|
if ($enrollvar{'courseowner'} =~ /^[^:]+:[^:]+$/) { |
|
$user = $env{'user.name'}.':'.$env{'user.domain'}; |
|
} else { |
|
$user = $env{'user.name'}; |
|
} |
if ($result eq 'ok') { |
if ($result eq 'ok') { |
if ($perm_reqd eq 'yes') { |
if ($perm_reqd eq 'yes') { |
if (!($enrollvar{'photopermission'} eq 'yes')) { |
if (!($enrollvar{'photopermission'} eq 'yes')) { |
$can_enable = 0; |
$can_enable = 0; |
} else { |
} else { |
if ($env{'user.name'} eq $enrollvar{'courseowner'}) { |
if ($user eq $enrollvar{'courseowner'}) { |
$r->print(' |
$r->print(' |
<tr> |
<tr> |
<td>'. |
<td>'. |
&mt('Previously the owner of this course agreed to the conditions of use of digital student photos required by [_1].', $institution).'<br />'.&mt('As a result Course Coordinators can choose to automatically import student photos into this course.').'<br /><nobr><label>'.&mt('[_1] owner acceptance of these conditions of use?','<b>Cancel</b>').' <input type="checkbox" name="cancel_agreement" value="1" /></label></nobr> |
&mt('Previously the owner of this course agreed to the conditions of use of digital student photos required by [_1].', $institution).'<br />'.&mt('As a result [_1]s can choose to automatically import student photos into this course.',&Apache::lonnet::plaintext('cc')).'<br /><nobr><label>'.&mt('[_1] owner acceptance of these conditions of use?','<b>Cancel</b>').' <input type="checkbox" name="cancel_agreement" value="1" /></label></nobr> |
</td> |
</td> |
</tr> |
</tr> |
'); |
'); |
Line 918 your changes.</td>
|
Line 989 your changes.</td>
|
</tr> |
</tr> |
'); |
'); |
} else { |
} else { |
if ($env{'user.name'} eq $enrollvar{'courseowner'}) { |
if ($user eq $enrollvar{'courseowner'}) { |
$r->print(' |
$r->print(' |
<tr> |
<tr> |
<td>'. |
<td>'. |
Line 936 your changes.</td>
|
Line 1007 your changes.</td>
|
$r->print(' |
$r->print(' |
<tr> |
<tr> |
<td>'. |
<td>'. |
&mt('The policies of your institution [_1] require that the course owner [_2] must indicate acceptance of the conditions of use of digital photos of registered students, before they may be made available for use in a course.',$institution,$ownername).'<br /><br />'.&mt('Please direct the course owner [_1] to visit the "Student photos" page in the Automated Enrollment Manager to indicate acceptance of these conditions of use.',$emailstr).'<br /><br /><input type="button" name="mainmenu" value="Go back" onclick="javascript:history.go(-1);" /> |
&mt('The policies of your institution ([_1]) require that the course owner ([_2]) must indicate acceptance of the conditions of use of digital photos of registered students, before they may be made available for use in a course.',$institution,$ownername).'<br /><br />'.&mt('Please direct the course owner [_1] to visit the "Student photos" page in the Automated Enrollment Manager to indicate acceptance of these conditions of use.',$emailstr).'<br /><br /><input type="button" name="mainmenu" value="Go back" onclick="javascript:history.go(-1);" /> |
</td> |
</td> |
</tr> |
</tr> |
</form> |
</form> |
Line 1052 onclick="javascript:document.photoupdate
|
Line 1123 onclick="javascript:document.photoupdate
|
if (! exists($env{'form.sortby'})) { |
if (! exists($env{'form.sortby'})) { |
$env{'form.sortby'} = 'username'; |
$env{'form.sortby'} = 'username'; |
} |
} |
if ($env{'form.Status'} !~ /^(Any|Expired|Active)$/) { |
if ($env{'form.Status'} !~ /^(Any|Expired|Active|Future)$/) { |
$env{'form.Status'} = 'Active'; |
$env{'form.Status'} = 'Active'; |
} |
} |
my $status_select = &Apache::lonhtmlcommon::StatusOptions($env{'form.Status'}); |
my $status_select = &Apache::lonhtmlcommon::StatusOptions($env{'form.Status'}); |
Line 1132 END
|
Line 1203 END
|
} |
} |
} |
} |
|
|
|
sub notifier_tables { |
|
my ($role,$lt,$users,$status,$notifystate,$pname,$notifyshow) = @_; |
|
my $output = &Apache::loncommon::start_data_table(); |
|
$output .= &Apache::loncommon::start_data_table_header_row(); |
|
$output .= "<th>$$lt{name}</th> |
|
<th>$$lt{usnm}</th>"; |
|
if ($role eq 'cc') { |
|
$output .= "<th>$$lt{coac}</th>"; |
|
} |
|
$output .= "<th>$$lt{curn}</th> |
|
<th>$$lt{notf}</th>"; |
|
$output .= &Apache::loncommon::end_data_table_header_row(); |
|
for (my $i=0; $i<@{$users}; $i++) { |
|
$output .= &Apache::loncommon::start_data_table_row(); |
|
$output .= '<td>'.$$pname{$$users[$i]}.'</td>'. |
|
'<td><input type="hidden" name="notifyname_'.$$notifyshow. |
|
'" value="'.$$users[$i].'" />'.$$users[$i].'</td>'; |
|
if ($role eq 'cc') { |
|
$output .= '<td>'.$$status{$$users[$i]}.'</td>'; |
|
} |
|
$output .= '<td>'; |
|
if ($$notifystate{$$users[$i]} == 1) { |
|
$output .= $$lt{ntac}; |
|
} else { |
|
$output .= $$lt{ntin}; |
|
} |
|
$output .= '</td><td><input type="checkbox" name="note_'.$$notifyshow.'"'; |
|
if ($$notifystate{$$users[$i]} == 1) { |
|
$output .= ' checked="checked"'; |
|
} |
|
$output .= ' /></td>'; |
|
$output .= &Apache::loncommon::end_data_table_row(); |
|
$$notifyshow ++; |
|
} |
|
$output .= &Apache::loncommon::end_data_table(); |
|
return $output; |
|
} |
|
|
sub print_accessdate_table { |
sub print_accessdate_table { |
my ($r,$enrollvar,$tasktitleref,$action) = @_; |
my ($r,$enrollvar,$tasktitleref,$action) = @_; |
my ($start_table,$end_table) = &date_setting_table($$enrollvar{'default_enrollment_start_date'},$$enrollvar{'default_enrollment_end_date'},$action); |
my ($start_table,$end_table) = &date_setting_table($$enrollvar{'default_enrollment_start_date'},$$enrollvar{'default_enrollment_end_date'},$action); |
Line 1611 sub print_notify_response {
|
Line 1720 sub print_notify_response {
|
} |
} |
$response .= "</ul>\n"; |
$response .= "</ul>\n"; |
} else { |
} else { |
$response = "Notification of enrollment changes was <b> not enabled</b> as no course coordinators were selected as recipients.<br/>"; |
$response = &mt('Notification of enrollment changes was <b> not enabled</b> as no [_1]s were selected as recipients.<br/>',&Apache::lonnet::plaintext('cc')); |
} |
} |
} else { |
} else { |
if ($currcount) { |
if ($currcount) { |
Line 1684 sub print_crosslistings_menu () {
|
Line 1793 sub print_crosslistings_menu () {
|
if ($numcross > 0) { |
if ($numcross > 0) { |
my @bgcolors=("#eeeeee","#cccccc"); |
my @bgcolors=("#eeeeee","#cccccc"); |
$response .= qq(You indicated that you wish to add an additional $numcross crosslisting(s). For each new crosslisting enter the insititutional course section code (e.g., fs03zol101001, for section 001 of zol101 for fs03 semester), and the LON-CAPA section ID you wish to assign to students who will be enrolled in your LON-CAPA class as a result of their registration in the crosslisted course section. The LON-CAPA section ID can be left blank, if you do not wish to tie a section ID to this crosslisting. The institutional course section code should only contain letters and/or numbers, and must be consistent with the scheme adopted by your Domain Coordinator to map course codes (and section numbers) to your institution's student information system.<br/><br/> |
$response .= qq(You indicated that you wish to add an additional $numcross crosslisting(s). For each new crosslisting enter the insititutional course section code (e.g., fs03zol101001, for section 001 of zol101 for fs03 semester), and the LON-CAPA section ID you wish to assign to students who will be enrolled in your LON-CAPA class as a result of their registration in the crosslisted course section. The LON-CAPA section ID can be left blank, if you do not wish to tie a section ID to this crosslisting. The institutional course section code should only contain letters and/or numbers, and must be consistent with the scheme adopted by your Domain Coordinator to map course codes (and section numbers) to your institution's student information system.<br/><br/> |
<form name="enter" method="post">); |
<form name="enter" method="post">); #' stupid emacs |
$response .= &Apache::loncommon::start_data_table(); |
$response .= &Apache::loncommon::start_data_table(); |
$response .= &Apache::loncommon::start_data_table_row(); |
$response .= &Apache::loncommon::start_data_table_row(); |
$response .= qq( |
$response .= qq( |
Line 1748 sub print_crosslistings_response () {
|
Line 1857 sub print_crosslistings_response () {
|
} |
} |
|
|
if ($numcross > 0) { |
if ($numcross > 0) { |
my %curr_groups = &Apache::loncommon::coursegroups(); |
my %curr_groups = &Apache::longroup::coursegroups(); |
for (my $i=0; $i<$numcross; $i++) { |
for (my $i=0; $i<$numcross; $i++) { |
my $xl = "newcross_".$i; |
my $xl = "newcross_".$i; |
my $lc_sec = "newlcsec_".$i; |
my $lc_sec = "newlcsec_".$i; |
Line 2065 sub print_sections_response () {
|
Line 2174 sub print_sections_response () {
|
} |
} |
|
|
if ($numsec > 0) { |
if ($numsec > 0) { |
my %curr_groups = &Apache::loncommon::coursegroups(); |
my %curr_groups = &Apache::longroup::coursegroups(); |
for (my $i=0; $i<$numsec; $i++) { |
for (my $i=0; $i<$numsec; $i++) { |
my $sec = "newsec_".$i; |
my $sec = "newsec_".$i; |
my $lc_sec = "newlcsec_".$i; |
my $lc_sec = "newlcsec_".$i; |
Line 2286 function agreement_result(caller) {
|
Line 2395 function agreement_result(caller) {
|
</form> |
</form> |
'; |
'; |
} else { |
} else { |
my ($ownername,$owneremail) = &get_oenerinfo($dom,$courseowner); |
my ($ownername,$owneremail) = &get_ownerinfo($dom,$courseowner); |
$response = &mt('The policies of your institution [_1] require that the course owner [_2] must indicate acceptance of the conditions of use of digital photos of registered students, before they may be made available for use in a course.',$institution,$ownername).'<br /><br />'.&mt('Please direct the course owner (e-mail: [_1]) to visit the "Student photos" page in the Automated Enrollment Manager to indicate acceptance of these conditions of use',$owneremail); |
my $emailstr; |
|
if ($owneremail) { |
|
$emailstr = "(e-mail: $owneremail)"; |
|
} |
|
$response = &mt('The policies of your institution [_1] require that the course owner [_2] must indicate acceptance of the conditions of use of digital photos of registered students, before they may be made available for use in a course.',$institution,$ownername).'<br /><br />'.&mt('Please direct the course owner [_1] to visit the "Student photos" page in the Automated Enrollment Manager to indicate acceptance of these conditions of use',$emailstr); |
} |
} |
&print_reply($r,$response,$$tasktitleref{$action}); |
&print_reply($r,$response,$$tasktitleref{$action}); |
} |
} |
Line 2425 function photowindow(photolink) {
|
Line 2538 function photowindow(photolink) {
|
|
|
sub get_ownerinfo { |
sub get_ownerinfo { |
my ($dom,$owner) = @_; |
my ($dom,$owner) = @_; |
my ($ownername,$owneremail); |
my ($ownername,$owneremail,$own_uname,$own_udom); |
if ($owner) { |
if ($owner) { |
$ownername=&Apache::loncommon::plainname($owner,$dom,'firstname'); |
if ($owner =~ /^([^:]+):([^:]+)$/) { |
|
$own_uname = $1; |
|
$own_udom = $2; |
|
} else { |
|
$own_uname = $owner; |
|
$own_udom = $dom; |
|
} |
|
$ownername=&Apache::loncommon::plainname($own_uname,$own_udom, |
|
'firstname'); |
my %ownerinfo = &Apache::lonnet::get('environment',['permanentemail'], |
my %ownerinfo = &Apache::lonnet::get('environment',['permanentemail'], |
$dom,$owner); |
$own_udom,$own_uname); |
$owneremail = $ownerinfo{'permanentemail'}; |
$owneremail = $ownerinfo{'permanentemail'}; |
} |
} |
return ($ownername,$owneremail); |
return ($ownername,$owneremail); |