--- loncom/interface/loncommon.pm	2002/09/14 21:01:38	1.68
+++ loncom/interface/loncommon.pm	2003/02/03 18:03:52	1.76
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # a pile of common routines
 #
-# $Id: loncommon.pm,v 1.68 2002/09/14 21:01:38 albertel Exp $
+# $Id: loncommon.pm,v 1.76 2003/02/03 18:03:52 harris41 Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -27,9 +27,7 @@
 #
 # YEAR=2001
 # 2/13-12/7 Guy Albertelli
-# 12/11,12/12,12/17 Scott Harrison
 # 12/21 Gerd Kortemeyer
-# 12/21 Scott Harrison
 # 12/25,12/28 Gerd Kortemeyer
 # YEAR=2002
 # 1/4 Gerd Kortemeyer
@@ -311,7 +309,44 @@ sub browser_and_searcher_javascript {
 END
 }
 
+sub studentbrowser_javascript {
+   unless ($ENV{'request.course.id'}) { return ''; }  
+   unless (&Apache::lonnet::allowed('srm',$ENV{'request.course.id'})) {
+        return '';
+   }
+   return (<<'ENDSTDBRW');
+<script type="text/javascript" language="Javascript" >
+    var stdeditbrowser;
+    function openstdbrowser(formname,uname,udom) {
+        var url = '/adm/pickstudent?';
+        var filter;
+        eval('filter=document.'+formname+'.'+uname+'.value;');
+        if (filter != null) {
+           if (filter != '') {
+               url += 'filter='+filter+'&';
+	   }
+        }
+        url += 'form=' + formname + '&unameelement='+uname+
+                                    '&udomelement='+udom;
+        var title = 'Student Browser';
+        var options = 'scrollbars=1,resizable=1,menubar=0';
+        options += ',width=700,height=600';
+        stdeditbrowser = open(url,title,options,'1');
+        stdeditbrowser.focus();
+    }
+</script>
+ENDSTDBRW
+}
 
+sub selectstudent_link {
+    my ($form,$unameele,$udomele)=@_;
+   unless ($ENV{'request.course.id'}) { return ''; }  
+   unless (&Apache::lonnet::allowed('srm',$ENV{'request.course.id'})) {
+        return '';
+   }
+    return "<a href='".'javascript:openstdbrowser("'.$form.'","'.$unameele.
+        '","'.$udomele.'");'."'>Select</a>";
+}
 
 ###############################################################
 
@@ -493,7 +528,7 @@ sub help_open_topic {
 
     if (!$stayOnPage)
     {
-	$link = "javascript:void(open('/adm/help/${filename}.hlp', 'Help_for_$topic', 'menubar=0,toolbar=1,scrollbars=1,width=$width,height=$height'))";
+	$link = "javascript:void(open('/adm/help/${filename}.hlp', 'Help_for_$topic', 'menubar=0,toolbar=1,scrollbars=1,width=$width,height=$height,resizable=yes'))";
     }
     else
     {
@@ -802,7 +837,7 @@ sub authform_internal{
        onclick="javascript:changed_radio('int',$args{'formname'});" />
 Internally authenticated (with initial password 
 <input type="text" size="10" name="intarg" value=""
-       onchange="javascript:changed_text('int',$args{'formname'});" />
+       onchange="javascript:changed_text('int',$args{'formname'});" />)
 END
     return $result;
 }
@@ -838,7 +873,7 @@ sub authform_filesystem{
        onclick="javascript:changed_radio('fsys',$in{'formname'});" />
 Filesystem authenticated (with initial password 
 <input type="text" size="10" name="fsysarg" value=""
-       onchange="javascript:changed_text('fsys',$in{'formname'});">
+       onchange="javascript:changed_text('fsys',$in{'formname'});">)
 END
     return $result;
 }
@@ -1010,18 +1045,26 @@ sub messagewrapper {
     return 
 "<a href='/adm/email?compose=individual&recname=$un&recdom=$do'>$link</a>";
 }
+# --------------------------------------------------------------- Notes Wrapper
+
+sub noteswrapper {
+    my ($link,$un,$do)=@_;
+    return 
+"<a href='/adm/email?recordftf=retrieve&recname=$un&recdom=$do'>$link</a>";
+}
 # ------------------------------------------------------------- Aboutme Wrapper
 
 sub aboutmewrapper {
-    my ($link,$un,$do)=@_;
-    return "<a href='/adm/$do/$un/aboutme'>$link</a>";
+    my ($link,$username,$domain)=@_;
+    return "<a href='/adm/$domain/$username/aboutme'>$link</a>";
 }
 
 # ------------------------------------------------------------ Syllabus Wrapper
 
 
 sub syllabuswrapper {
-    my ($link,$un,$do)=@_;
+    my ($link,$un,$do,$tf)=@_;
+    if ($tf) { $link='<font color="'.$tf.'">'.$link.'</font>'; }
     return "<a href='/public/$do/$un/syllabus'>$link</a>";
 }
 
@@ -1222,6 +1265,22 @@ sub maketime {
 }
 
 
+#########################################
+#
+# Retro-fixing of un-backward-compatible time format
+
+sub unsqltime {
+    my $timestamp=shift;
+    if ($timestamp=~/^(\d+)\-(\d+)\-(\d+)\s+(\d+)\:(\d+)\:(\d+)$/) {
+       $timestamp=&maketime(
+	   'year'=>$1,'month'=>$2,'day'=>$3,
+           'hours'=>$4,'minutes'=>$5,'seconds'=>$6);
+    }
+    return $timestamp;
+}
+
+#########################################
+
 sub findallcourses {
     my %courses=();
     my $now=time;
@@ -1283,7 +1342,8 @@ sub domainlogo {
     my $domain = &determinedomain(shift);    
      # See if there is a logo
     if (-e '/home/httpd/html/adm/lonDomLogos/'.$domain.'.gif') {
-        return '<img src="/adm/lonDomLogos/'.$domain.'.gif" />';
+        return '<img src="http://'.$ENV{'HTTP_HOST'}.':8080/adm/lonDomLogos/'.
+               $domain.'.gif" />';
     } elsif(exists($Apache::lonnet::domaindescription{$domain})) {
         return $Apache::lonnet::domaindescription{$domain};
     } else {
@@ -1387,7 +1447,7 @@ END
 $bodytag
 <table width="100%" cellspacing="0" border="0" cellpadding="0">
 <tr><td bgcolor="$font">
-<img src="$img" /></td>
+<img src="http://$ENV{'HTTP_HOST'}:8080/$img" /></td>
 <td bgcolor="$font"><font color='$sidebg'>$messages</font></td>
 </tr>
 <tr>