version 1.8.4.1, 2009/12/07 18:37:11
|
version 1.8.4.7, 2010/01/15 04:12:54
|
Line 67 sub handler {
|
Line 67 sub handler {
|
$utility |
$utility |
</script> |
</script> |
ENDSCRIPT |
ENDSCRIPT |
} elsif ($custommenu) { |
} elsif (($custommenu) || ($env{'user.domain'} eq 'gcitest')) { |
|
my $role = 'st'; |
|
if ($custommenu) { |
|
$role = 'cc'; |
|
} |
my $switcher_js; |
my $switcher_js; |
my %courses = &Apache::loncommon::existing_gcitest_courses(); |
my %courses = &Apache::loncommon::existing_gcitest_courses($role); |
my $numcourses = keys(%courses); |
my $numcourses = keys(%courses); |
if ($numcourses > 0) { |
if ($numcourses > 0) { |
$switcher = &gcitest_switcher(%courses); |
$switcher = &gcitest_switcher($role,%courses); |
my $current; |
my $current; |
if ($env{'request.course.id'}) { |
if ($env{'request.course.id'}) { |
$current = 'cc./'.$env{'course.'.$env{'request.course.id'}.'.domain'}. |
$current = $role.'./'.$env{'course.'.$env{'request.course.id'}.'.domain'}. |
'/'.$env{'course.'.$env{'request.course.id'}.'.num'}; |
'/'.$env{'course.'.$env{'request.course.id'}.'.num'}; |
} |
} |
$switcher_js = &gcitest_switcher_js($current,$numcourses); |
$switcher_js = &gcitest_switcher_js($current,$numcourses); |
$script_tag= <<"ENDSCRIPT"; |
$script_tag= <<"ENDSCRIPT"; |
<script type="text/javascript"> |
<script type="text/javascript"> |
|
// <![CDATA[ |
|
|
$switcher_js |
$switcher_js |
|
|
|
// ]]> |
</script> |
</script> |
ENDSCRIPT |
ENDSCRIPT |
} |
} |
Line 95 ENDSCRIPT
|
Line 103 ENDSCRIPT
|
$r->print(&Apache::loncommon::start_page( 'Main Menu', |
$r->print(&Apache::loncommon::start_page( 'Main Menu', |
$script_tag, |
$script_tag, |
{'bread_crumbs' => 1})); |
{'bread_crumbs' => 1})); |
|
my $rolecount = 0; |
|
unless (($custommenu) || ($env{'user.domain'} eq 'gcitest')) { |
|
foreach my $envkey (keys(%env)) { |
|
next unless ($envkey =~ /^user\.role\./); |
|
$rolecount ++; |
|
} |
|
} |
if ($custommenu) { |
if ($custommenu) { |
$r->print(&Apache::lonmenu::inlinemenu('gcicustom',$switcher).$form); |
$r->print(&Apache::lonmenu::inlinemenu('gcicustom',$switcher).$form); |
|
} elsif ($env{'user.domain'} eq 'gcitest') { |
|
$r->print(&Apache::lonmenu::inlinemenu('gcistudent',$switcher).$form); |
|
} elsif (!$rolecount) { |
|
$r->print(&Apache::lonmenu::inlinemenu('gcinorole').$form); |
} else { |
} else { |
$r->print(&Apache::lonmenu::inlinemenu().$form); |
$r->print(&Apache::lonmenu::inlinemenu().$form); |
} |
} |
Line 105 ENDSCRIPT
|
Line 124 ENDSCRIPT
|
} |
} |
|
|
sub gcitest_switcher { |
sub gcitest_switcher { |
my (%courses) = @_; |
my ($role,%courses) = @_; |
my $output; |
my $output; |
my %Sortby; |
my %Sortby; |
foreach my $course (sort(keys(%courses))) { |
foreach my $course (sort(keys(%courses))) { |
Line 113 sub gcitest_switcher {
|
Line 132 sub gcitest_switcher {
|
my $clean_title = $courses{$course}{'description'}; |
my $clean_title = $courses{$course}{'description'}; |
$clean_title =~ s/\W+//g; |
$clean_title =~ s/\W+//g; |
if ($clean_title eq '') { |
if ($clean_title eq '') { |
$clean_title = $courseinfo{$course}{'description'}; |
$clean_title = $courses{$course}{'description'}; |
} |
} |
push(@{$Sortby{$clean_title}},$course); |
push(@{$Sortby{$clean_title}},$course); |
} |
} |
Line 132 sub gcitest_switcher {
|
Line 151 sub gcitest_switcher {
|
} |
} |
if ($default) { |
if ($default) { |
$output = '<form name="pickrole" action="/adm/roles" method="post">'. |
$output = '<form name="pickrole" action="/adm/roles" method="post">'. |
'<select name="newrole" method="post" onchange="javascript:courseswitcher();">'. |
'<select name="newrole" onchange="javascript:courseswitcher();">'. |
'<option value="" selected="selected">'.$default.'</option>'; |
'<option value="" selected="selected">'.$default.'</option>'; |
foreach my $item (@sorted_courses) { |
foreach my $item (@sorted_courses) { |
foreach my $course (@{$Sortby{$item}}) { |
foreach my $course (@{$Sortby{$item}}) { |
my ($cdom,$cnum) = split('_',$course); |
my ($cdom,$cnum) = split('_',$course); |
$output .= '<option value="cc./'.$cdom.'/'.$cnum.'">'.$item.'</option>'; |
$output .= '<option value="'.$role.'./'.$cdom.'/'.$cnum.'">'.$courses{$course}{'description'}.'</option>'; |
} |
} |
} |
} |
$output .= '</select><input type="hidden" name="selectrole" value="" /></form>'; |
$output .= '</select><input type="hidden" name="selectrole" value="" /></form>'; |
Line 145 sub gcitest_switcher {
|
Line 164 sub gcitest_switcher {
|
return $output; |
return $output; |
} |
} |
|
|
|
sub gcitest_switcher_js { |
|
my ($current,$numcourses) = @_; |
|
my $output = <<"ENDJS"; |
|
|
|
function courseswitcher(caller) { |
|
var numcourses = $numcourses; |
|
var current = '$current'; |
|
var choice = document.pickrole.newrole.options[document.pickrole.newrole.selectedIndex].value; |
|
if (choice == '') { |
|
if (caller == 'icon') { |
|
alert('No Concept Test selected'); |
|
} |
|
document.pickrole.selectrole.value = ''; |
|
return; |
|
} |
|
if (choice == current) { |
|
if ((caller != 'icon') && (numcourses > 1)) { |
|
alert('You have selected the current course.\\nPlease select a different Concept Test course'); |
|
} |
|
document.pickrole.newrole.selectedIndex = 0; |
|
document.pickrole.selectrole.value = ''; |
|
return; |
|
} |
|
document.pickrole.selectrole.value = '1'; |
|
document.pickrole.submit(); |
|
return; |
|
} |
|
|
|
ENDJS |
|
return $output; |
|
} |
|
|
1; |
1; |
__END__ |
__END__ |
|
|