--- loncom/interface/lonpreferences.pm 2007/05/13 22:04:06 1.104 +++ loncom/interface/lonpreferences.pm 2007/07/05 21:37:38 1.107 @@ -1,7 +1,7 @@ # The LearningOnline Network # Preferences # -# $Id: lonpreferences.pm,v 1.104 2007/05/13 22:04:06 raeburn Exp $ +# $Id: lonpreferences.pm,v 1.107 2007/07/05 21:37:38 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -562,6 +562,46 @@ sub verify_and_change_icons { } ################################################################ +# Clicker Subroutines # +################################################################ + +sub clickerchanger { + my $r = shift; + my $user = $env{'user.name'}; + my $domain = $env{'user.domain'}; + my %userenv = &Apache::lonnet::get + ('environment',['clickers']); + my $clickers=$userenv{'clickers'}; + $clickers=~s/\,/\n/gs; + my $text=&mt('Enter response device ("clicker") numbers'); + my $change=&mt('Register'); + my $helplink=&Apache::loncommon::help_open_topic('Clicker_Registration', 'Locating your clicker ID'); + $r->print(< + + + + +ENDSCREEN +} + +sub verify_and_change_clicker { + my $r = shift; + my $user = $env{'user.name'}; + my $domain = $env{'user.domain'}; + my $newclickers = $env{'form.clickers'}; + $newclickers=~s/\W+/\,/gs; + $newclickers=~tr/a-z/A-Z/; + $newclickers=~s/^\,//; + $newclickers=~s/\,$//; + &Apache::lonnet::put('environment',{'clickers' => $newclickers}); + &Apache::lonnet::appenv('environment.clickers' => $newclickers); + $r->print(&mt('Registering clickers: [_1]',$newclickers)); +} + +################################################################ # Message Forward # ################################################################ @@ -1762,6 +1802,23 @@ sub handler { printmenu => 'yes', })); + push (@Options,({ action => 'changeclicker', + linktext => 'Register Response Devices ("Clickers")', + href => '/adm/preferences', + subroutine => \&clickerchanger, + breadcrumb => + { href => '/adm/preferences?action=changeicons', + text => 'Register Clicker'}, + }, + { action => 'verify_and_change_clicker', + subroutine => \&verify_and_change_clicker, + breadcrumb => + { href => '/adm/preferences?action=changeclicker', + text => 'Register Clicker'}, + printmenu => 'yes', + })); + + if (&Apache::lonnet::allowed('whn',$env{'request.course.id'}) || &Apache::lonnet::allowed('whn',$env{'request.course.id'}.'/' .$env{'request.course.sec'})) {