version 1.925.2.13, 2010/09/19 18:50:48
|
version 1.925.2.23, 2010/12/05 19:35:38
|
Line 1980 sub select_dom_form {
|
Line 1980 sub select_dom_form {
|
if ($dom ne '') { |
if ($dom ne '') { |
my $domdesc; |
my $domdesc; |
if ($name eq 'srchdomain') { |
if ($name eq 'srchdomain') { |
if ($dom eq 'gci') { |
if ($dom =~ /^\w+ci$/) { |
$domdesc = 'Faculty'; |
$domdesc = 'Faculty'; |
} else { |
} else { |
$domdesc = 'Students'; |
$domdesc = 'Students'; |
Line 4463 sub bodytag {
|
Line 4463 sub bodytag {
|
my ($title,$function,$addentries,$bodyonly,$domain,$forcereg, |
my ($title,$function,$addentries,$bodyonly,$domain,$forcereg, |
$no_nav_bar,$bgcolor,$no_inline_link,$args)=@_; |
$no_nav_bar,$bgcolor,$no_inline_link,$args)=@_; |
|
|
|
my $public; |
|
if ((($env{'user.name'} eq 'public') && ($env{'user.domain'} eq 'public')) |
|
|| ($env{'user.name'} eq '') && ($env{'user.domain'} eq '')) { |
|
$public = 1; |
|
} |
if (!$args->{'no_auto_mt_title'}) { $title = &mt($title); } |
if (!$args->{'no_auto_mt_title'}) { $title = &mt($title); } |
|
|
$function = &get_users_function() if (!$function); |
$function = &get_users_function() if (!$function); |
Line 4491 sub bodytag {
|
Line 4496 sub bodytag {
|
# realm |
# realm |
if ($env{'request.course.id'}) { |
if ($env{'request.course.id'}) { |
if ($env{'request.role'} !~ /^cr/) { |
if ($env{'request.role'} !~ /^cr/) { |
if (($custommenu) && ($role eq 'cm')) { |
if (($custommenu) && (($role eq 'cm') || ($env{'form.context'} eq 'requestcrs'))) { |
undef($role); |
undef($role); |
} else { |
} else { |
$role = &Apache::lonnet::plaintext($role,&course_type()); |
$role = &Apache::lonnet::plaintext($role,&course_type()); |
} |
} |
} |
} |
if ($env{'request.course.sec'}) { |
if (defined($role) && $env{'request.course.sec'}) { |
$role .= (' 'x2).'- '.&mt('section:').' '.$env{'request.course.sec'}; |
$role .= (' 'x2).'- '.&mt('section:').' '.$env{'request.course.sec'}; |
} |
} |
$realm = $env{'course.'.$env{'request.course.id'}.'.description'}; |
if ($env{'form.context'} eq 'requestcrs') { |
|
undef($realm); |
|
} else { |
|
$realm = $env{'course.'.$env{'request.course.id'}.'.description'}; |
|
} |
} else { |
} else { |
if (($custommenu) && ($role eq 'cm')) { |
if (($custommenu) && ($role eq 'cm')) { |
undef($role); |
undef($role); |
Line 4524 sub bodytag {
|
Line 4533 sub bodytag {
|
} |
} |
|
|
my $name = &plainname($env{'user.name'},$env{'user.domain'}); |
my $name = &plainname($env{'user.name'},$env{'user.domain'}); |
if ($env{'user.name'} eq 'public' && $env{'user.domain'} eq 'public') { |
if ($public) { |
undef($role); |
undef($role); |
} else { |
} else { |
$name = &aboutmewrapper($name,$env{'user.name'},$env{'user.domain'}); |
$name = &aboutmewrapper($name,$env{'user.name'},$env{'user.domain'}); |
Line 4545 sub bodytag {
|
Line 4554 sub bodytag {
|
$role = '<span class="LC_nobreak">('.$role.')</span>' if $role; |
$role = '<span class="LC_nobreak">('.$role.')</span>' if $role; |
&get_unprocessed_cgi($ENV{'QUERY_STRING'}, ['inhibitmenu']); |
&get_unprocessed_cgi($ENV{'QUERY_STRING'}, ['inhibitmenu']); |
|
|
if ($env{'environment.remote'} eq 'off') { |
if ($env{'environment.remote'} ne 'on') { |
# No Remote |
# No Remote |
if ($no_nav_bar || $env{'form.inhibitmenu'} eq 'yes') { |
if ($no_nav_bar || $env{'form.inhibitmenu'} eq 'yes') { |
return $bodytag; |
return $bodytag; |
Line 4558 sub bodytag {
|
Line 4567 sub bodytag {
|
# } |
# } |
|
|
my $role_selector; |
my $role_selector; |
if (($custommenu) && ($env{'request.course.id'}) && |
if (($custommenu) && !($env{'form.context'} eq 'requestcrs') && |
($env{'course.'.$env{'request.course.id'}.'.domain'} eq 'gcitest') && |
($env{'request.course.id'}) && |
($env{'request.role'} !~ m{^st\./gcitest/$match_courseid})) { |
($env{'course.'.$env{'request.course.id'}.'.domain'} =~ /^\w+citest$/)) { |
$role_selector = &Apache::lonmenu::roles_selector( |
$role_selector = &Apache::lonmenu::roles_selector( |
$env{'course.' . $env{'request.course.id'} . '.domain'}, |
$env{'course.' . $env{'request.course.id'} . '.domain'}, |
$env{'course.' . $env{'request.course.id'} . '.num'} ); |
$env{'course.' . $env{'request.course.id'} . '.num'} ); |
Line 4568 sub bodytag {
|
Line 4577 sub bodytag {
|
$role_selector = '<br />'.$role_selector; |
$role_selector = '<br />'.$role_selector; |
} |
} |
} |
} |
|
my $cid = $env{'request.course.id'}; |
|
my %cicourses; |
|
my $udom = $env{'user.domain'}; |
|
my %allnums = &get_faculty_cnums(); |
|
if (($udom ne '') && (ref($allnums{$udom}) eq 'HASH')) { |
|
foreach my $key (%{$allnums{$udom}}) { |
|
$cicourses{$udom.'_'.$key} = $allnums{$udom}->{$key}; |
|
} |
|
} |
|
if (($custommenu && $cid && !$cicourses{$cid}) && |
|
!($env{'form.context'} eq 'requestcrs') || |
|
($env{'user.domain'} =~ /^\w+citest$/)) { |
|
my $role = 'st'; |
|
if ($custommenu) { |
|
$role = 'cc'; |
|
} |
|
my ($switcher_js,$switcher,$formname); |
|
$formname = 'pickrole'; |
|
my %courses = &existing_gcitest_courses($role); |
|
my $numcourses = keys(%courses); |
|
my $reqdcount = 0; |
|
if ($cid) { |
|
if ($courses{$cid}) { |
|
$reqdcount = 1; |
|
} |
|
} |
|
if ($numcourses > $reqdcount) { |
|
$switcher = &gcitest_switcher($role,$formname,%courses); |
|
my $current; |
|
if ($cid) { |
|
$current = $role.'./'.$env{'course.'.$cid.'.domain'}. |
|
'/'.$env{'course.'.$cid.'.num'}; |
|
} |
|
$switcher_js = &gcitest_switcher_js($current,$numcourses,$formname); |
|
if ($switcher_js) { |
|
$switcher_js= <<"ENDSCRIPT"; |
|
<script type="text/javascript"> |
|
// <![CDATA[ |
|
|
|
$switcher_js |
|
|
|
// ]]> |
|
</script> |
|
ENDSCRIPT |
|
} |
|
} |
|
if ($switcher) { |
|
$switcher = $switcher_js.$switcher; |
|
if ($role_selector) { |
|
$role_selector .= ' '.$switcher; |
|
} else { |
|
$role_selector .= '<br />'.$switcher; |
|
} |
|
} |
|
} |
|
|
if ($env{'request.noversionuri'} =~ m{^/res/adm/pages/}) { |
if ($env{'request.noversionuri'} =~ m{^/res/adm/pages/}) { |
if ($dc_info) { |
if ($dc_info) { |
Line 4577 sub bodytag {
|
Line 4641 sub bodytag {
|
<em>$realm</em> $dc_info</div>|; |
<em>$realm</em> $dc_info</div>|; |
return $bodytag; |
return $bodytag; |
} |
} |
|
if ($env{'request.noversionuri'} eq '/adm/navmaps' && |
|
$env{'environment.remotenavmap'} eq 'on') { |
|
return $bodytag; |
|
} |
|
|
|
if ($cid && $cicourses{$cid} eq 'tutorial') { |
|
$bodytag .= '<div class="LC_page_header">'; |
|
} |
|
|
$bodytag .= qq|<div id="LC_nav_bar">$name $role $role_selector</div>|; |
$bodytag .= qq|<div id="LC_nav_bar">$name $role $role_selector</div>|; |
|
|
$bodytag .= Apache::lonhtmlcommon::scripttag( |
$bodytag .= Apache::lonhtmlcommon::scripttag( |
Line 4589 sub bodytag {
|
Line 4661 sub bodytag {
|
$dc_info = &dc_courseid_toggle($dc_info); |
$dc_info = &dc_courseid_toggle($dc_info); |
} |
} |
$bodytag .= qq|<div id="LC_realm">$realm $dc_info</div>|; |
$bodytag .= qq|<div id="LC_realm">$realm $dc_info</div>|; |
|
if ($cid && $cicourses{$cid} eq 'tutorial') { |
|
$bodytag .= '</div>'; |
|
} |
|
|
#don't show menus for public users |
#don't show menus for public users |
if($env{'user.name'} ne 'public' && $env{'user.domain'} ne 'public'){ |
if(!$public){ |
if (($custommenu) && |
if (($custommenu) && |
($env{'request.role'} !~ m{^st\./gcitest/$match_courseid})) { |
($env{'request.role'} !~ m{^st\./(\w+)citest/$match_courseid})) { |
$bodytag .= &Apache::lonmenu::gci_secondary_menu(); |
$bodytag .= &Apache::lonmenu::gci_secondary_menu(); |
} else { |
} elsif ($env{'request.role'} ne 'cm' || &check_for_gci_dc()) { |
$bodytag .= Apache::lonmenu::secondary_menu(); |
$bodytag .= Apache::lonmenu::secondary_menu(); |
} |
} |
$bodytag .= Apache::lonmenu::serverform(); |
$bodytag .= Apache::lonmenu::serverform(); |
Line 4605 sub bodytag {
|
Line 4680 sub bodytag {
|
$args->{'bread_crumbs'}); |
$args->{'bread_crumbs'}); |
} elsif ($forcereg) { |
} elsif ($forcereg) { |
$bodytag .= &Apache::lonmenu::innerregister($forcereg); |
$bodytag .= &Apache::lonmenu::innerregister($forcereg); |
|
} elsif ($custommenu && $env{'request.course.id'} && |
|
&Apache::lonnet::allowed('mdc', $env{'request.course.id'})) { |
|
if ((($env{'request.noversionuri'} eq '/adm/navmaps') && |
|
($env{'request.noversionuri'} ne 'on')) || |
|
(($env{'request.noversionuri'} eq '/adm/coursedocs') && |
|
(!($env{'form.context'} eq 'requestcrs'))) || |
|
(($env{'request.noversionuri'} eq '/adm/createuser') && |
|
(!($env{'form.context'} eq 'requestcrs'))) || |
|
($env{'request.noversionuri'} eq '/adm/whatsnew') || |
|
($env{'request.noversionuri'} eq '/cgi-bin/printout.pl') || |
|
($env{'request.noversionuri'} eq '/adm/printout') || |
|
($env{'request.noversionuri'} eq '/adm/statistics')) { |
|
|
|
my @advtools = &concept_test_manager(); |
|
&Apache::lonhtmlcommon::clear_breadcrumbs(); |
|
&Apache::lonhtmlcommon::add_breadcrumb_tool( |
|
'advtools',@advtools); |
|
my $advlinks; |
|
my $legendtext = '<a class="LC_menubuttons_link" href="/adm/menu">'.&mt('Management').'</a>'; |
|
&Apache::lonhtmlcommon::render_advtools(\$advlinks,$legendtext); |
|
$bodytag .= $advlinks; |
|
} |
} |
} |
}else{ |
}else{ |
# this is to seperate menu from content when there's no secondary |
# this is to seperate menu from content when there's no secondary |
Line 4613 sub bodytag {
|
Line 4710 sub bodytag {
|
$bodytag .= Apache::lonhtmlcommon::scripttag('', 'end'); |
$bodytag .= Apache::lonhtmlcommon::scripttag('', 'end'); |
} |
} |
|
|
#SD testing |
|
#$bodytag .= Apache::lonmenu::menubuttons($forcereg); |
|
return $bodytag; |
return $bodytag; |
} |
} |
|
|
Line 4652 $bodytag
|
Line 4747 $bodytag
|
ENDBODY |
ENDBODY |
} |
} |
|
|
|
sub concept_test_manager { |
|
my @advtools; |
|
my %items = ( |
|
docs => { |
|
desc => 'Edit Test', |
|
action => "go('/adm/coursedocs')", |
|
tooltip => 'Assemble or modify Concept Test' |
|
}, |
|
cprv => { |
|
desc => 'Enrollment/Activity', |
|
action => "go('/adm/createuser')", |
|
tooltip => 'Enrollment and student activity', |
|
}, |
|
new => { |
|
desc => "What's New?", |
|
action => "go('/adm/whatsnew')", |
|
tooltip => 'Recent events/action items in Concept Test' , |
|
}, |
|
prnt => { |
|
desc => 'Print Test', |
|
action => "go('/adm/printout');", |
|
tooltip => 'Prepare printable Concept Test', |
|
}, |
|
chrt => { |
|
desc => 'Test Statistics', |
|
action => "go('/adm/statistics');", |
|
tooltip => 'Concept Test Statistics', |
|
}, |
|
rcrs => { |
|
desc => 'Create New Test', |
|
action => "switchpage('createtest');", |
|
tooltip => 'Create new Concept Test', |
|
}, |
|
); |
|
my @ordered = ('docs','cprv','new','prnt','chrt','rcrs'); |
|
foreach my $item (@ordered) { |
|
push(@advtools, |
|
'<a title="'.$items{$item}{tooltip}.'" class="LC_menubuttons_link" href="javascript:'. |
|
$items{$item}{action}.';">'. |
|
'<img src="'.'/res/adm/pages/'.$item.'22.png" alt="'.$items{$item}{tooltip}. |
|
'" border="0" class="LC_icon" />'. |
|
'<span class="LC_menubuttons_inline_text">'.$items{$item}{desc}.'</span></a>'); |
|
} |
|
return @advtools; |
|
} |
|
|
sub dc_courseid_toggle { |
sub dc_courseid_toggle { |
my ($dc_info) = @_; |
my ($dc_info) = @_; |
return ' <span id="dccidtext" class="LC_cusr_subheading">'. |
return ' <span id="dccidtext" class="LC_cusr_subheading">'. |
Line 4954 table#LC_title_bar.LC_with_remote {
|
Line 5095 table#LC_title_bar.LC_with_remote {
|
margin: 0; |
margin: 0; |
} |
} |
|
|
|
ul.LC_breadcrumb_tools_outerlist { |
|
margin: 0; |
|
padding: 0; |
|
position: relative; |
|
list-style: none; |
|
} |
|
ul.LC_breadcrumb_tools_outerlist li { |
|
display: inline; |
|
} |
|
|
|
.LC_breadcrumb_tools_navigation { |
|
padding: 0; |
|
margin: 0; |
|
float: left; |
|
} |
|
.LC_breadcrumb_tools_tools { |
|
padding: 0; |
|
margin: 0; |
|
float: right; |
|
} |
|
|
|
div.LC_GCI_Menu { |
|
width:900px; |
|
} |
|
|
|
div.LC_GCI_Menu:after { |
|
content:''; |
|
display:block; |
|
clear:both; |
|
} |
|
|
|
div.LC_GCI_Menu_left { |
|
float:left; |
|
width:400px; |
|
} |
|
|
|
div.LC_GCI_Menu_right { |
|
float:left; |
|
width:400px;; |
|
} |
|
|
dl.LC_GCI_Menu { |
dl.LC_GCI_Menu { |
width:300px; |
width:300px; |
float:left; |
float:left; |
Line 4966 dl.LC_GCI_Menu dt {
|
Line 5148 dl.LC_GCI_Menu dt {
|
margin-bottom:0.7em; |
margin-bottom:0.7em; |
} |
} |
|
|
|
dl.LC_GCI_Menu dt a { |
|
color: $font; |
|
} |
|
|
dl.LC_GCI_Menu dd { |
dl.LC_GCI_Menu dd { |
font-size:0.8em; |
font-size:0.8em; |
margin:0 0 2em 0; |
margin:0 0 2em 0; |
Line 4974 dl.LC_GCI_Menu dd {
|
Line 5160 dl.LC_GCI_Menu dd {
|
background:none no-repeat left top; |
background:none no-repeat left top; |
} |
} |
|
|
/* #SD START (work in progress)*/ |
|
|
|
ul.LC_bct { |
|
margin: 0; |
|
padding: 0; |
|
} |
|
ul.LC_bct ol { |
|
display: inline; |
|
} |
|
ul.LC_bct ul { |
|
display: inline; |
|
padding: 0; |
|
} |
|
ul.LC_bct li { |
|
list-style-type: none; |
|
display: inline; |
|
} |
|
|
|
|
|
ul.LC_breadcrumb_tools { |
|
} |
|
|
|
li.LC_breadcrumb_tools { |
|
} |
|
li.LC_breadcrumb_tools img{ |
|
vertical-align: middle; |
|
} |
|
|
|
.LC_breadcrumb_tools_A { |
|
margin: 0 0 0 1em; |
|
} |
|
.LC_breadcrumb_tools_B { |
|
float: right; |
|
margin-top: 0.4em; |
|
} |
|
.LC_breadcrumb_tools_C { |
|
margin: 0 1em 0 0; |
|
float: right; |
|
} |
|
/* #SD END */ |
|
|
|
table#LC_title_bar td { |
table#LC_title_bar td { |
background: $tabbg; |
background: $tabbg; |
} |
} |
Line 5025 table#LC_menubuttons img {
|
Line 5170 table#LC_menubuttons img {
|
|
|
.LC_breadcrumbs_component { |
.LC_breadcrumbs_component { |
float: right; |
float: right; |
margin: 0 1em; |
margin: 0.25em 1em; |
} |
} |
.LC_breadcrumbs_component img { |
.LC_breadcrumbs_component img { |
vertical-align: middle; |
vertical-align: middle; |
Line 5044 td.LC_table_cell_checkbox {
|
Line 5189 td.LC_table_cell_checkbox {
|
background: $sidebg; |
background: $sidebg; |
border-bottom: 1px solid $lg_border_color; |
border-bottom: 1px solid $lg_border_color; |
line-height: 2.5em; |
line-height: 2.5em; |
/* SD working here |
overflow: hidden; |
height: 2.5em; |
|
overflow: hidden; */ |
|
margin: 0; |
margin: 0; |
padding: 0; |
padding: 0; |
|
text-align: left; |
} |
} |
|
|
/* Preliminary fix to hide breadcrumbs inside remote control window */ |
/* Preliminary fix to hide breadcrumbs inside remote control window */ |
Line 5060 td.LC_table_cell_checkbox {
|
Line 5204 td.LC_table_cell_checkbox {
|
clear:both; |
clear:both; |
background: #F8F8F8; /* $sidebg; */ |
background: #F8F8F8; /* $sidebg; */ |
border: 1px solid $sidebg; |
border: 1px solid $sidebg; |
margin: 0 0 10px 0; |
margin: 0 0 0 0; |
} |
} |
|
|
.LC_fontsize_medium { |
.LC_fontsize_medium { |
Line 6018 fieldset > legend {
|
Line 6162 fieldset > legend {
|
padding: 0 5px 0 5px; |
padding: 0 5px 0 5px; |
} |
} |
|
|
|
div.LC_page_header { |
|
background-color: $pgbg_or_bgcolor; |
|
margin: 0 0 1.0em 0; |
|
} |
|
|
#LC_nav_bar { |
#LC_nav_bar { |
float: left; |
float: left; |
margin: 0.2em 0 0 0; |
margin: 0.2em 0 0 0; |
Line 6060 ol.LC_primary_menu a {
|
Line 6209 ol.LC_primary_menu a {
|
text-decoration: none; |
text-decoration: none; |
} |
} |
|
|
|
ol.LC_primary_menu a.LC_new_message { |
|
font-weight:bold; |
|
color: darkred; |
|
} |
|
|
ul#LC_secondary_menu { |
ul#LC_secondary_menu { |
clear: both; |
clear: both; |
color: $fontmenu; |
color: $fontmenu; |
Line 6193 ol#LC_MenuBreadcrumbs,
|
Line 6347 ol#LC_MenuBreadcrumbs,
|
ol#LC_PathBreadcrumbs { |
ol#LC_PathBreadcrumbs { |
padding-left: 10px; |
padding-left: 10px; |
margin: 0; |
margin: 0; |
list-style-position: inside; |
margin: 0; |
/* SD working here |
height: 2.5em; /* equal to #LC_breadcrumbs line-height */ |
white-space: nowrap; */ |
|
} |
} |
|
|
ol#LC_MenuBreadcrumbs li, |
ol#LC_MenuBreadcrumbs li, |
ol#LC_PathBreadcrumbs li, |
ol#LC_PathBreadcrumbs li, |
ul.LC_CourseBreadcrumbs li { |
ul.LC_CourseBreadcrumbs li { |
display: inline; |
display: inline; |
white-space: nowrap; |
white-space: normal; |
/* SD working here |
|
white-space: normal; */ |
|
} |
} |
|
|
ol#LC_MenuBreadcrumbs li a, |
ol#LC_MenuBreadcrumbs li a, |
Line 6213 ul.LC_CourseBreadcrumbs li a {
|
Line 6364 ul.LC_CourseBreadcrumbs li a {
|
font-size:90%; |
font-size:90%; |
} |
} |
|
|
|
ol#LC_MenuBreadcrumbs h1 { |
|
display: inline; |
|
font-size: 90%; |
|
line-height: 2.5em; |
|
margin: 0; |
|
padding: 0; |
|
} |
|
|
ol#LC_PathBreadcrumbs li a { |
ol#LC_PathBreadcrumbs li a { |
text-decoration:none; |
text-decoration:none; |
font-size:100%; |
font-size:100%; |
Line 6418 a#LC_content_toolbar_changefolder_toggle
|
Line 6577 a#LC_content_toolbar_changefolder_toggle
|
background-image:url(/res/adm/pages/open-all-folders.gif); |
background-image:url(/res/adm/pages/open-all-folders.gif); |
} |
} |
|
|
|
a#LC_content_toolbar_management { |
|
background-image:url(/res/adm/pages/navtomenu.png); |
|
} |
|
|
ul#LC_toolbar li a:hover { |
ul#LC_toolbar li a:hover { |
background-position: bottom center; |
background-position: bottom center; |
} |
} |
Line 6457 ul.LC_funclist {
|
Line 6620 ul.LC_funclist {
|
padding: 0.5em 1em 0.5em 0; |
padding: 0.5em 1em 0.5em 0; |
} |
} |
|
|
|
ul.LC_funclist > li:first-child { |
|
font-weight:bold; |
|
margin-left:0.8em; |
|
} |
|
|
ul.LC_funclist + ul.LC_funclist { |
ul.LC_funclist + ul.LC_funclist { |
/* |
/* |
left border as a seperator if we have more than |
left border as a seperator if we have more than |
Line 6483 ul.LC_funclist li {
|
Line 6651 ul.LC_funclist li {
|
background:#DAE0D2 url("/gcimenu_bg.gif") repeat-x bottom; |
background:#DAE0D2 url("/gcimenu_bg.gif") repeat-x bottom; |
font-size:93%; |
font-size:93%; |
line-height:normal; |
line-height:normal; |
|
margin: 0.5em 0 0.5em 0; |
} |
} |
#gciheader ul { |
#gciheader ul { |
margin:0; |
margin:0; |
Line 6801 sub start_page {
|
Line 6970 sub start_page {
|
#if bread_crumbs_component exists show it as headline else show only the breadcrumbs |
#if bread_crumbs_component exists show it as headline else show only the breadcrumbs |
if(exists($args->{'bread_crumbs_component'})){ |
if(exists($args->{'bread_crumbs_component'})){ |
$result .= &Apache::lonhtmlcommon::breadcrumbs($args->{'bread_crumbs_component'}); |
$result .= &Apache::lonhtmlcommon::breadcrumbs($args->{'bread_crumbs_component'}); |
}else{ |
} elsif (exists($args->{'bread_crumbs_menulink'})) { |
$result .= &Apache::lonhtmlcommon::breadcrumbs(); |
$result .= &Apache::lonhtmlcommon::breadcrumbs('','',$args->{'bread_crumbs_menulink'}); |
|
} else { |
|
$result .= &Apache::lonhtmlcommon::breadcrumbs(); |
} |
} |
} |
} |
return $result; |
return $result; |
Line 10842 sub clean_symb {
|
Line 11013 sub clean_symb {
|
sub needs_gci_custom { |
sub needs_gci_custom { |
my $custommenu; |
my $custommenu; |
my $numdc = &check_for_gci_dc(); |
my $numdc = &check_for_gci_dc(); |
|
my $udom = $env{'user.domain'}; |
|
return if ($udom eq ''); |
unless ($numdc) { |
unless ($numdc) { |
my $then=$env{'user.login.time'}; |
my $then=$env{'user.login.time'}; |
my $now = time; |
my $now = time; |
my %cnums = ( |
my %allnums = &get_faculty_cnums(); |
review => '9615072b469884921gcil1', |
my $cnums = $allnums{$udom}; |
submit => '1H96711d710194bfegcil1', |
return unless (ref($cnums) eq 'HASH'); |
); |
if ($env{'user.role.st./\Q$udom\E/'.$cnums->{'review'}}) { |
if ($env{'user.role.st./gci/'.$cnums{'review'}}) { |
|
my ($start,$end) = |
my ($start,$end) = |
split('.',$env{'user.role.st./gci/'.$cnums{'review'}}); |
split('.',$env{'user.role.st./\Q$udom\E/'.$cnums->{'review'}}); |
if (((!$start) || ($start && $start <= $now)) && |
if (((!$start) || ($start && $start <= $now)) && |
((!$end) || ($end > $now))) { |
((!$end) || ($end > $now))) { |
$custommenu = 1; |
$custommenu = 1; |
if ($env{'user.role.cc./gci/'.$cnums{'review'}}) { |
if ($env{'user.role.cc./\Q$udom\E/'.$cnums->{'review'}}) { |
my ($ccstart,$ccend) = |
my ($ccstart,$ccend) = |
split('.',$env{'user.role.cc./gci/'.$cnums{'review'}}); |
split('.',$env{'user.role.cc./\Q$udom\E/'.$cnums->{'review'}}); |
if (((!$start) || ($start && $start <= $now)) && |
if (((!$start) || ($start && $start <= $now)) && |
((!$end) || ($end > $now))) { |
((!$end) || ($end > $now))) { |
$custommenu = ''; |
$custommenu = ''; |
Line 10869 sub needs_gci_custom {
|
Line 11041 sub needs_gci_custom {
|
return $custommenu; |
return $custommenu; |
} |
} |
|
|
|
sub ci_tabs { |
|
my ($domain) = @_; |
|
my %tabs = ( |
|
gci => ['review','submit','managetest','tutorial'], |
|
slci => ['review'], |
|
); |
|
return $tabs{$domain}; |
|
} |
|
|
sub check_for_gci_dc { |
sub check_for_gci_dc { |
my $then=$env{'user.login.time'}; |
my $then=$env{'user.login.time'}; |
my $numdc = 0; |
my $numdc = 0; |
foreach my $dom ('gci','gcitest') { |
my @doms = &Apache::lonnet::current_machine_domains(); |
|
foreach my $dom (@doms) { |
if ($env{'user.role.dc./'.$dom.'/'}) { |
if ($env{'user.role.dc./'.$dom.'/'}) { |
my $livedc = 1; |
my $livedc = 1; |
my ($tstart,$tend)=split(/\./,$env{'user.role.dc./'.$dom.'/'}); |
my ($tstart,$tend)=split(/\./,$env{'user.role.dc./'.$dom.'/'}); |
Line 10886 sub check_for_gci_dc {
|
Line 11068 sub check_for_gci_dc {
|
return $numdc; |
return $numdc; |
} |
} |
|
|
|
sub get_faculty_cnums { |
|
my %cnums = ( |
|
gci => { |
|
review => '9615072b469884921gcil1', |
|
submit => '1H96711d710194bfegcil1', |
|
tutorial => '5422913620b814c90gcil1', |
|
}, |
|
slci => { |
|
review => '', |
|
} |
|
); |
|
return %cnums; |
|
} |
|
|
sub existing_gcitest_courses { |
sub existing_gcitest_courses { |
my ($role) = @_; |
my ($role) = @_; |
my %courses; |
my %courses; |
my $cdom = 'gcitest'; |
my $cdom = $env{'user.domain'}.'test'; |
my $now = time; |
my $now = time; |
foreach my $envkey (keys(%env)) { |
foreach my $envkey (keys(%env)) { |
my $cnum; |
my $cnum; |
Line 10898 sub existing_gcitest_courses {
|
Line 11094 sub existing_gcitest_courses {
|
} else { |
} else { |
next; |
next; |
} |
} |
my ($tstart,$tend) = split('.',$env{$envkey}); |
my ($tstart,$tend) = split(/\./,$env{$envkey}); |
if (((!$tstart) || ($tstart < $now)) && ((!$tend) || ($tend > $now))) { |
if (((!$tstart) || ($tstart < $now)) && ((!$tend) || ($tend > $now))) { |
my $descr = $env{'course.'.$cdom.'_'.$cnum.'.description'}; |
my $descr = $env{'course.'.$cdom.'_'.$cnum.'.description'}; |
if ($descr ne '') { |
if ($descr ne '') { |
Line 10909 sub existing_gcitest_courses {
|
Line 11105 sub existing_gcitest_courses {
|
return %courses; |
return %courses; |
} |
} |
|
|
|
sub gcitest_switcher { |
|
my ($role,$formname,%courses) = @_; |
|
my $output; |
|
my %Sortby; |
|
foreach my $course (sort(keys(%courses))) { |
|
next unless (ref($courses{$course}) eq 'HASH'); |
|
my $clean_title = $courses{$course}{'description'}; |
|
$clean_title =~ s/\W+//g; |
|
if ($clean_title eq '') { |
|
$clean_title = $courses{$course}{'description'}; |
|
} |
|
push(@{$Sortby{$clean_title}},$course); |
|
} |
|
my @sorted_courses = sort { lc($a) cmp lc($b) } (keys(%Sortby)); |
|
my $default; |
|
if (@sorted_courses > 1) { |
|
if (($env{'request.course.id'}) && ($courses{$env{'request.course.id'}})) { |
|
$default = &mt('Switch concept test ...'); |
|
} else { |
|
$default = &mt('Select a concept test ...'); |
|
} |
|
} else { |
|
unless (($env{'request.course.id'}) && ($courses{$env{'request.course.id'}})) { |
|
$default = &mt('Select concept test ...'); |
|
} |
|
} |
|
if ($default) { |
|
$output = '<form name="'.$formname.'" action="/adm/roles" method="post">'. |
|
'<select name="newrole" onchange="javascript:courseswitcher();">'. |
|
'<option value="" selected="selected">'.$default.'</option>'; |
|
foreach my $item (@sorted_courses) { |
|
foreach my $course (@{$Sortby{$item}}) { |
|
my ($cdom,$cnum) = split('_',$course); |
|
$output .= '<option value="'.$role.'./'.$cdom.'/'.$cnum.'">'.$courses{$course}{'description'}.'</option>'; |
|
} |
|
} |
|
$output .= '</select><input type="hidden" name="selectrole" value="" /></form>'; |
|
} |
|
return $output; |
|
} |
|
|
|
sub gcitest_switcher_js { |
|
my ($current,$numcourses,$formname) = @_; |
|
my $output = <<"ENDJS"; |
|
|
|
function courseswitcher(caller) { |
|
var numcourses = $numcourses; |
|
var current = '$current'; |
|
var choice = document.$formname.newrole.options[document.$formname.newrole.selectedIndex].value; |
|
if (choice == '') { |
|
if (caller == 'icon') { |
|
alert('No Concept Test selected'); |
|
} |
|
document.$formname.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.$formname.newrole.selectedIndex = 0; |
|
document.$formname.selectrole.value = ''; |
|
return; |
|
} |
|
document.$formname.selectrole.value = '1'; |
|
document.$formname.submit(); |
|
return; |
|
} |
|
|
|
ENDJS |
|
return $output; |
|
} |
|
|
|
sub get_citest_map { |
|
my ($cdom) = @_; |
|
my %questionnaires = ( |
|
gcitest => 'default_1261144274.sequence', |
|
slcitest => 'default_1261144274.sequence', |
|
); |
|
return $questionnaires{$cdom}; |
|
} |
|
|
=pod |
=pod |
|
|
=back |
=back |