--- loncom/interface/loncommon.pm 2007/07/17 18:07:18 1.550 +++ loncom/interface/loncommon.pm 2007/07/28 21:38:29 1.555 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # a pile of common routines # -# $Id: loncommon.pm,v 1.550 2007/07/17 18:07:18 albertel Exp $ +# $Id: loncommon.pm,v 1.555 2007/07/28 21:38:29 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -709,8 +709,7 @@ sub help_open_topic { my ($topic, $text, $stayOnPage, $width, $height) = @_; $text = "" if (not defined $text); $stayOnPage = 0 if (not defined $stayOnPage); - if ($env{'browser.interface'} eq 'textual' || - $env{'environment.remote'} eq 'off' ) { + if ($env{'browser.interface'} eq 'textual') { $stayOnPage=1; } $width = 350 if (not defined $width); @@ -802,12 +801,17 @@ ENDOUTPUT # now just updates the help link and generates a blue icon sub help_open_menu { my ($topic,$component_help,$faq,$bug,$stayOnPage,$width,$height,$text) - = @_; - + = @_; $stayOnPage = 0 if (not defined $stayOnPage); - if ($env{'browser.interface'} eq 'textual' || - $env{'environment.remote'} eq 'off' ) { - $stayOnPage=1; + # formerly only used pop-up help (stayOnPage = 0) + # if environment.remote is on (using remote control UI) + # if ($env{'browser.interface'} eq 'textual' || + # $env{'environment.remote'} eq 'off' ) { + # $stayOnPage=1; + #} + # Now making pop-up help the default even with remote control + if ($env{'browser.interface'} eq 'textual') { + $stayOnPage=1; } my $output; if ($component_help) { @@ -2156,6 +2160,15 @@ sub getemails { } } +sub flush_email_cache { + my ($uname,$udom)=@_; + if (!$udom) { $udom =$env{'user.domain'}; } + if (!$uname) { $uname=$env{'user.name'}; } + return if ($udom eq 'public' && $uname eq 'public'); + my $id=$uname.':'.$udom; + &Apache::lonnet::devalidate_cache_new('emailscache',$id); +} + # ------------------------------------------------------------------ Screenname =pod @@ -2229,7 +2242,8 @@ sub track_student_link { $target = ''; } if ($start) { $link.='&start='.$start; } - + $title = &mt($title); + $linktext = &mt($linktext); return qq{$linktext}. &help_open_topic('View_recent_activity'); } @@ -5518,6 +5532,120 @@ sub get_secgrprole_info { return (\@sections,\@groups,$allroles,$rolehash,$accesshash); } +sub user_picker { + my ($dom,$srch,$forcenewuser) = @_; + my $currdom = $dom; + my %curr_selected = ( + srchin => 'dom', + srchby => 'uname', + ); + my $srchterm; + if (ref($srch) eq 'HASH') { + if ($srch->{'srchby'} ne '') { + $curr_selected{'srchby'} = $srch->{'srchby'}; + } + if ($srch->{'srchin'} ne '') { + $curr_selected{'srchin'} = $srch->{'srchin'}; + } + if ($srch->{'srchtype'} ne '') { + $curr_selected{'srchtype'} = $srch->{'srchtype'}; + } + if ($srch->{'srchdomain'} ne '') { + $currdom = $srch->{'srchdomain'}; + } + $srchterm = $srch->{'srchterm'}; + } + + my %lt=&Apache::lonlocal::texthash( + 'usr' => 'Search for', + 'or' => 'or', + 'in' => 'in', + 'doma' => 'domain', + 'uname' => 'username', + 'lastname' => 'last name', + 'lastfirst' => 'last name, first name', + 'crs' => 'this course', + 'dom' => 'this domain', + 'alc' => 'all LON-CAPA', + 'instd' => 'institutional directory', + 'exact' => 'as exact match to', + 'contains' => 'contained in', + ); + my $domform = &select_dom_form($currdom,'srchdomain',1); + + my $srchinsel = ' \n"; + + my $srchbysel = ' \n"; + + my $srchtypesel = ' \n"; + + my $output = <<"END_BLOCK"; + + + + + + + + + + + + + +
$lt{'usr'}: +$srchtypesel + +$srchbysel +
$lt{'in'}: +$srchinsel +
$lt{'doma'}:$domform
+
+END_BLOCK + if ($forcenewuser) { + $output .= ''.&mt('Make new user if no match found: ').''.&mt('Yes').'  '.&mt('No').'
'; + } + return $output; +} + =pod =back