[LON-CAPA-cvs] cvs: loncom(version_2_1_X) / lond
albertel
lon-capa-cvs@mail.lon-capa.org
Tue, 07 Feb 2006 16:43:22 -0000
albertel Tue Feb 7 11:43:22 2006 EDT
Modified files: (Branch: version_2_1_X)
/loncom lond
Log:
- backport 1.317 1.318
Index: loncom/lond
diff -u loncom/lond:1.305.2.2 loncom/lond:1.305.2.3
--- loncom/lond:1.305.2.2 Thu Feb 2 05:32:31 2006
+++ loncom/lond Tue Feb 7 11:43:22 2006
@@ -2,7 +2,7 @@
# The LearningOnline Network
# lond "LON Daemon" Server (port "LOND" 5663)
#
-# $Id: lond,v 1.305.2.2 2006/02/02 10:32:31 albertel Exp $
+# $Id: lond,v 1.305.2.3 2006/02/07 16:43:22 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -61,7 +61,7 @@
my $lastlog='';
my $lond_max_wait_time = 13;
-my $VERSION='$Revision: 1.305.2.2 $'; #' stupid emacs
+my $VERSION='$Revision: 1.305.2.3 $'; #' stupid emacs
my $remoteVERSION;
my $currenthostid="default";
my $currentdomainid;
@@ -4318,6 +4318,64 @@
®ister_handler("autoinstcodeformat",
\&get_institutional_code_format_handler,0,1,0);
+# Get domain specific conditions for import of student photographs to a course
+#
+# Retrieves information from photo_permission subroutine in localenroll.
+# Returns outcome (ok) if no processing errors, and whether course owner is
+# required to accept conditions of use (yes/no).
+#
+#
+sub photo_permission_handler {
+ my ($cmd, $tail, $client) = @_;
+ my $userinput = "$cmd:$tail";
+ my $cdom = $tail;
+ my ($perm_reqd,$conditions);
+ my $outcome = &localenroll::photo_permission($cdom,\$perm_reqd,
+ \$conditions);
+ &Reply($client, &escape($outcome.':'.$perm_reqd.':'. $conditions)."\n",
+ $userinput);
+}
+®ister_handler("autophotopermission",\&photo_permission_handler,0,1,0);
+
+#
+# Checks if student photo is available for a user in the domain, in the user's
+# directory (in /userfiles/internal/studentphoto.jpg).
+# Uses localstudentphoto:fetch() to ensure there is an up to date copy of
+# the student's photo.
+
+sub photo_check_handler {
+ my ($cmd, $tail, $client) = @_;
+ my $userinput = "$cmd:$tail";
+ my ($udom,$uname,$pid) = split(/:/,$tail);
+ $udom = &unescape($udom);
+ $uname = &unescape($uname);
+ $pid = &unescape($pid);
+ my $path=&propath($udom,$uname).'/userfiles/internal/';
+ if (!-e $path) {
+ &mkpath($path);
+ }
+ my $response;
+ my $result = &localstudentphoto::fetch($udom,$uname,$pid,\$response);
+ $result .= ':'.$response;
+ &Reply($client, &escape($result)."\n",$userinput);
+}
+®ister_handler("autophotocheck",\&photo_check_handler,0,1,0);
+
+#
+# Retrieve information from localenroll about whether to provide a button
+# for users who have enbled import of student photos to initiate an
+# update of photo files for registered students. Also include
+# comment to display alongside button.
+
+sub photo_choice_handler {
+ my ($cmd, $tail, $client) = @_;
+ my $userinput = "$cmd:$tail";
+ my $cdom = &unescape($tail);
+ my ($update,$comment) = &localenroll::manager_photo_update($cdom);
+ &Reply($client,&escape($update).':'.&escape($comment)."\n",$userinput);
+}
+®ister_handler("autophotochoice",\&photo_choice_handler,0,1,0);
+
#
# Gets a student's photo to exist (in the correct image type) in the user's
# directory.
@@ -4330,24 +4388,33 @@
# $client - The socket open on the client.
# Returns:
# 1 - continue processing.
+
sub student_photo_handler {
my ($cmd, $tail, $client) = @_;
- my ($domain,$uname,$type) = split(/:/, $tail);
+ my ($domain,$uname,$ext,$type) = split(/:/, $tail);
- my $path=&propath($domain,$uname).
- '/userfiles/internal/studentphoto.'.$type;
- if (-e $path) {
+ my $path=&propath($domain,$uname). '/userfiles/internal/';
+ my $filename = 'studentphoto.'.$ext;
+ if ($type eq 'thumbnail') {
+ $filename = 'studentphoto_tn.'.$ext;
+ }
+ if (-e $path.$filename) {
&Reply($client,"ok\n","$cmd:$tail");
return 1;
}
&mkpath($path);
- my $file=&localstudentphoto::fetch($domain,$uname);
+ my $file;
+ if ($type eq 'thumbnail') {
+ $file=&localstudentphoto::fetch_thumbnail($domain,$uname);
+ } else {
+ $file=&localstudentphoto::fetch($domain,$uname);
+ }
if (!$file) {
&Failure($client,"unavailable\n","$cmd:$tail");
return 1;
}
- if (!-e $path) { &convert_photo($file,$path); }
- if (-e $path) {
+ if (!-e $path.$filename) { &convert_photo($file,$path.$filename); }
+ if (-e $path.$filename) {
&Reply($client,"ok\n","$cmd:$tail");
return 1;
}