version 1.5, 2009/05/25 22:56:34
|
version 1.8.2.3, 2010/01/03 01:09:41
|
Line 268 sub handler {
|
Line 268 sub handler {
|
\@prefs_order,\%prefs,\%values, |
\@prefs_order,\%prefs,\%values, |
$cnum,undef,\@allitems); |
$cnum,undef,\@allitems); |
} elsif ($phase eq 'display') { |
} elsif ($phase eq 'display') { |
my $jscript = &get_jscript($cdom,$phase); |
my $jscript = &get_jscript($cdom,$phase,$crstype); |
my @allitems = &get_allitems(%prefs); |
my @allitems = &get_allitems(%prefs); |
&Apache::lonconfigsettings::display_settings($r,$cdom,$phase,$context, |
&Apache::lonconfigsettings::display_settings($r,$cdom,$phase,$context, |
\@prefs_order,\%prefs,\%values,undef,$jscript,\@allitems); |
\@prefs_order,\%prefs,\%values,undef,$jscript,\@allitems); |
Line 554 sub process_changes {
|
Line 554 sub process_changes {
|
if ($newvalues{$ext_entry} ne $values->{$stdrole.'.plaintext'}) { |
if ($newvalues{$ext_entry} ne $values->{$stdrole.'.plaintext'}) { |
my $dupname = 0; |
my $dupname = 0; |
if ($newvalues{$ext_entry} ne '') { |
if ($newvalues{$ext_entry} ne '') { |
my $dupname = 0; |
|
if (grep(/^\Q$newvalues{$ext_entry}\E$/,@replacements)) { |
if (grep(/^\Q$newvalues{$ext_entry}\E$/,@replacements)) { |
$dupname = 1; |
$dupname = 1; |
push(@{$disallowed->{'rolenames'}{'replacements'}},$newvalues{$ext_entry}); |
push(@{$disallowed->{'rolenames'}{'replacements'}},$newvalues{$ext_entry}); |
Line 655 sub process_changes {
|
Line 654 sub process_changes {
|
} |
} |
foreach my $key (keys(%env)) { |
foreach my $key (keys(%env)) { |
if ($key =~ /^form\.\Q$entry\E_($match_username:$match_domain)$/) { |
if ($key =~ /^form\.\Q$entry\E_($match_username:$match_domain)$/) { |
if ($env{'form.'.$key}) { |
if ($env{$key}) { |
my $nothide = $1; |
my $nothide = $1; |
if (!grep(/^\Q$nothide\E$/,@new_nothide)) { |
if (!grep(/^\Q$nothide\E$/,@new_nothide)) { |
push(@new_nothide,$nothide); |
push(@new_nothide,$nothide); |
Line 1074 sub get_course {
|
Line 1073 sub get_course {
|
} |
} |
|
|
sub get_jscript { |
sub get_jscript { |
my ($cdom,$phase) = @_; |
my ($cdom,$phase,$crstype) = @_; |
my ($can_toggle_cat,$can_categorize) = &can_modify_catsettings($cdom); |
my ($can_toggle_cat,$can_categorize) = &can_modify_catsettings($cdom,$crstype); |
my ($jscript,$categorize_js); |
my ($jscript,$categorize_js); |
my $stubrowse_js = &Apache::loncommon::studentbrowser_javascript(); |
my $stubrowse_js = &Apache::loncommon::studentbrowser_javascript(); |
my $browse_js = &Apache::loncommon::browser_and_searcher_javascript('parmset'); |
my $browse_js = &Apache::loncommon::browser_and_searcher_javascript('parmset'); |
Line 1195 sub print_courseinfo {
|
Line 1194 sub print_courseinfo {
|
if (ref($cathash) eq 'HASH') { |
if (ref($cathash) eq 'HASH') { |
$categoriesform = |
$categoriesform = |
&Apache::loncommon::assign_categories_table($cathash, |
&Apache::loncommon::assign_categories_table($cathash, |
$settings->{'categories'})."\n"; |
$settings->{'categories'},$crstype)."\n"; |
} |
} |
} |
} |
if (!defined($categoriesform)) { |
if (!defined($categoriesform)) { |
$categoriesform = &mt('No categories defined for this domain'); |
$categoriesform = &mt('No categories defined for this domain'); |
} |
} |
|
|
my ($can_toggle_cat,$can_categorize) = &can_modify_catsettings($cdom); |
my ($can_toggle_cat,$can_categorize) = &can_modify_catsettings($cdom,$crstype); |
|
|
my %items = ( |
my %items = ( |
'url' => { |
'url' => { |
Line 1395 sub new_cloners_dom_row {
|
Line 1394 sub new_cloners_dom_row {
|
} |
} |
|
|
sub can_modify_catsettings { |
sub can_modify_catsettings { |
my ($dom) = @_; |
my ($dom,$crstype) = @_; |
my %domconf = &Apache::lonnet::get_dom('configuration',['coursecategories'],$dom); |
my %domconf = &Apache::lonnet::get_dom('configuration',['coursecategories'],$dom); |
my ($can_toggle_cat,$can_categorize); |
my ($can_toggle_cat,$can_categorize); |
if (ref($domconf{'coursecategories'}) eq 'HASH') { |
if (ref($domconf{'coursecategories'}) eq 'HASH') { |
if ($domconf{'coursecategories'}{'togglecats'} eq 'crs') { |
if ($crstype eq 'Community') { |
$can_toggle_cat = 1; |
if ($domconf{'coursecategories'}{'togglecatscomm'} eq 'comm') { |
} |
$can_toggle_cat = 1; |
if ($domconf{'coursecategories'}{'categorize'} eq 'crs') { |
} |
$can_categorize = 1; |
if ($domconf{'coursecategories'}{'categorizecomm'} eq 'comm') { |
|
$can_categorize = 1; |
|
} |
|
} else { |
|
if ($domconf{'coursecategories'}{'togglecats'} eq 'crs') { |
|
$can_toggle_cat = 1; |
|
} |
|
if ($domconf{'coursecategories'}{'categorize'} eq 'crs') { |
|
$can_categorize = 1; |
|
} |
} |
} |
} |
} |
return ($can_toggle_cat,$can_categorize); |
return ($can_toggle_cat,$can_categorize); |
Line 1419 sub assign_course_categories {
|
Line 1427 sub assign_course_categories {
|
if (ref($domconf{'coursecategories'}) eq 'HASH') { |
if (ref($domconf{'coursecategories'}) eq 'HASH') { |
$cathash = $domconf{'coursecategories'}{'cats'}; |
$cathash = $domconf{'coursecategories'}{'cats'}; |
if (ref($cathash) eq 'HASH') { |
if (ref($cathash) eq 'HASH') { |
$hascats = 1; |
foreach my $cat (keys(%{$cathash})) { |
|
next if ($cat eq 'instcode::0'); |
|
unless ($crstype eq 'Community') { |
|
next if ($cat eq 'communities::0'); |
|
} |
|
$hascats ++; |
|
} |
} |
} |
} |
} |
my $catwin_js; |
my $catwin_js; |
if ($hascats) { |
if ($hascats) { |
my $alert = &mt('Use \"Save\" in the main window to save course categories'); |
my $alert = &mt("Use 'Save' in the main window to save course categories"); |
$catwin_js = <<ENDSCRIPT; |
$catwin_js = <<ENDSCRIPT; |
<script type="text/javascript"> |
<script type="text/javascript"> |
|
|
Line 1462 ENDSCRIPT
|
Line 1476 ENDSCRIPT
|
} else { |
} else { |
my $onload; |
my $onload; |
} |
} |
|
my ($crscat,$catcrs,$assign); |
|
if ($crstype eq 'Community') { |
|
$crscat = 'Community Categories'; |
|
$catcrs = &mt('Categorize Community'); |
|
$assign = &mt('Assign one or more categories to this community.') |
|
} else { |
|
$crscat = 'Course Categories'; |
|
$catcrs = &mt('Categorize Course'); |
|
$assign = &mt('Assign one or more categories to this course.') |
|
} |
my $start_page = |
my $start_page = |
&Apache::loncommon::start_page('Course Categories',$catwin_js, |
&Apache::loncommon::start_page($crscat,$catwin_js, |
{'only_body' => 1,}); |
{'only_body' => 1,}); |
my $end_page = &Apache::loncommon::end_page(); |
my $end_page = &Apache::loncommon::end_page(); |
my $categoriesform = '<h3>'.&mt('Categorize Course').'</h3>'; |
my $categoriesform = '<h3>'.$catcrs.'</h3>'; |
if ($hascats) { |
if ($hascats) { |
my %currsettings = |
my %currsettings = |
&Apache::lonnet::get('environment',['hidefromcat','categories'],$cdom,$cnum); |
&Apache::lonnet::get('environment',['hidefromcat','categories'],$cdom,$cnum); |
$categoriesform .= &mt('Assign one or more categories to this course.').'<br /><br />'. |
my $cattable = &Apache::loncommon::assign_categories_table($cathash, |
|
$currsettings{'categories'},$crstype); |
|
if ($cattable eq '') { |
|
$categoriesform .= &mt('No suitable categories defined for this course type in this domain.'); |
|
} else { |
|
$categoriesform .= $assign.'<br /><br />'. |
'<form name="chgcats" action="/adm/courseprefs" method="post">'."\n". |
'<form name="chgcats" action="/adm/courseprefs" method="post">'."\n". |
&Apache::loncommon::assign_categories_table($cathash, |
$cattable."\n". |
$currsettings{'categories'})."\n". |
|
'<br /><input type="button" name="changes" value="'. |
'<br /><input type="button" name="changes" value="'. |
&mt('Copy to main window').'" '. |
&mt('Copy to main window').'" '. |
'onclick="javascript:updateCategories()" /></form><br />'; |
'onclick="javascript:updateCategories()" /></form><br />'; |
|
} |
} else { |
} else { |
$categoriesform .= &mt('No categories defined for this domain'); |
$categoriesform .= &mt('No categories defined in this domain'); |
} |
} |
$r->print($start_page.$categoriesform.$end_page); |
$r->print($start_page.$categoriesform.$end_page); |
return; |
return; |
Line 1641 sub user_table {
|
Line 1670 sub user_table {
|
} else { |
} else { |
my $num = 0; |
my $num = 0; |
my @curr = split(/,/,$currvalue); |
my @curr = split(/,/,$currvalue); |
$output .= &Apache::loncommon::start_data_table(); |
$output .= '<table class="LC_nested_outer">'; |
my ($currusers); |
my ($currusers); |
foreach my $val (@curr) { |
foreach my $val (@curr) { |
next if ($val eq ''); |
next if ($val eq ''); |
Line 1672 sub user_table {
|
Line 1701 sub user_table {
|
$num ++; |
$num ++; |
} |
} |
if ($num) { |
if ($num) { |
$output .= &Apache::loncommon::start_data_table_row(). |
$output .= '<tr>'. |
'<td align="left"><i>'; |
'<td align="left"><i>'; |
if ($num > 1) { |
if ($num > 1) { |
$output .= $lt->{'currone'}; |
$output .= $lt->{'currone'}; |
Line 1681 sub user_table {
|
Line 1710 sub user_table {
|
} |
} |
$output .= '</i><br />'. |
$output .= '</i><br />'. |
'<table>'.$currusers.'</table></td>'. |
'<table>'.$currusers.'</table></td>'. |
&Apache::loncommon::end_data_table_row(); |
'</tr>'; |
} |
} |
$output .= &Apache::loncommon::start_data_table_row(). |
$output .= '<tr>'. |
'<td align="left"><span class="LC_nobreak"><i>'. |
'<td align="left"><span class="LC_nobreak"><i>'. |
$lt->{'add'}.'</i></span><br />'. |
$lt->{'add'}.'</i></span><br />'. |
&select_recipient($item,$num,$cdom,$sections). |
&select_recipient($item,$num,$cdom,$sections). |
'<input type="hidden" name="'.$item.'_total" value="'.$num.'" />'. |
'<input type="hidden" name="'.$item.'_total" value="'.$num.'" />'. |
'</td>'.&Apache::loncommon::end_data_table_row(). |
'</td></tr></table>'; |
&Apache::loncommon::end_data_table(); |
|
} |
} |
return $output; |
return $output; |
} |
} |
Line 1700 sub select_recipient {
|
Line 1728 sub select_recipient {
|
my $selectlink = |
my $selectlink = |
&Apache::loncommon::selectstudent_link('display',$item.'_uname_'.$num, |
&Apache::loncommon::selectstudent_link('display',$item.'_uname_'.$num, |
$item.'_udom_'.$num,1); |
$item.'_udom_'.$num,1); |
my $css_class = ($num % 2)?'LC_even_row':'LC_odd_row'; |
|
my $output = |
my $output = |
'<table><tr class="'.$css_class.'"><td align="center">'.&mt('Username').'<br />'. |
'<table><tr><td align="center">'.&mt('Username').'<br />'. |
'<input type="text" name="'.$item.'_uname_'.$num.'" value="" /></td>'. |
'<input type="text" name="'.$item.'_uname_'.$num.'" value="" /></td>'. |
'<td align="center">'.&mt('Domain').'<br />'.$domform.'</td>'; |
'<td align="center">'.&mt('Domain').'<br />'.$domform.'</td>'; |
if (ref($sections) eq 'ARRAY') { |
if (ref($sections) eq 'ARRAY') { |
Line 1756 sub print_discussion {
|
Line 1783 sub print_discussion {
|
} |
} |
my %items = ( |
my %items = ( |
'plc.roles.denied' => { |
'plc.roles.denied' => { |
text => '<b>'.&mt($itemtext->{'plc.roles.denied'}).'</b>'. |
text => '<span class="LC_nobreak"><b>'. |
&Apache::loncommon::help_open_topic("Course_Disable_Discussion"). |
&mt($itemtext->{'plc.roles.denied'}).'</b>'. |
|
&Apache::loncommon::help_open_topic("Course_Disable_Discussion").'</span><br />'. |
&mt('(role-based)'), |
&mt('(role-based)'), |
input => 'checkbox', |
input => 'checkbox', |
}, |
}, |
Line 1769 sub print_discussion {
|
Line 1797 sub print_discussion {
|
}, |
}, |
|
|
'pch.roles.denied' => { |
'pch.roles.denied' => { |
text => '<b>'.&mt($itemtext->{'pch.roles.denied'}).'</b>'. |
text => '<span class="LC_nobreak"><b>'. |
&Apache::loncommon::help_open_topic("Course_Disable_Discussion").'<br />'. |
&mt($itemtext->{'pch.roles.denied'}).'</b>'. |
|
&Apache::loncommon::help_open_topic("Course_Disable_Discussion").'</span><br />'. |
&mt('(role-based)'), |
&mt('(role-based)'), |
input => 'checkbox', |
input => 'checkbox', |
}, |
}, |
Line 2053 sub print_grading {
|
Line 2082 sub print_grading {
|
input => 'selectbox', |
input => 'selectbox', |
options => { |
options => { |
standard => &mt('Standard: shows points'), |
standard => &mt('Standard: shows points'), |
external => &mt('External: shows number of completed parts'), |
external => &mt('External: shows number of completed parts and totals'), |
|
externalnototals => &mt('External: shows only number of completed parts'), |
spreadsheet => &mt('Spreadsheet: (with link to detailed scores)'), |
spreadsheet => &mt('Spreadsheet: (with link to detailed scores)'), |
}, |
}, |
order => ['standard','external','spreadsheet'], |
order => ['standard','external','externalnototals','spreadsheet'], |
}, |
}, |
'rndseed' => { |
'rndseed' => { |
text => '<b>'.&mt($itemtext->{'rndseed'}).'</b>'. |
text => '<b>'.&mt($itemtext->{'rndseed'}).'</b>'. |
Line 2411 sub nothidepriv_row {
|
Line 2441 sub nothidepriv_row {
|
} |
} |
} |
} |
if (exists($privileged{$udom}{$uname})) { |
if (exists($privileged{$udom}{$uname})) { |
push(@privusers,$user); |
unless (grep(/^\Q$user\E$/,@privusers)) { |
|
push(@privusers,$user); |
|
} |
} |
} |
} |
} |
if (@privusers) { |
if (@privusers) { |
Line 2431 sub nothidepriv_row {
|
Line 2463 sub nothidepriv_row {
|
'</td><td align="left">'. |
'</td><td align="left">'. |
'<span class="LC_nobreak"><label>'. |
'<span class="LC_nobreak"><label>'. |
'<input type="radio" name="'.$item.'_'.$user.'"'. |
'<input type="radio" name="'.$item.'_'.$user.'"'. |
$hideon.' value="yes" />'.&mt('Hidden').'</label> '. |
$hideon.' value="" />'.&mt('Hidden').'</label> '. |
'<label><input type="radio" name="'.$item.'_'.$user.'"'. $hideoff.' value="" />'.&mt('Shown').'</label></span></td>'. |
'<label><input type="radio" name="'.$item.'_'.$user.'"'. $hideoff.' value="yes" />'.&mt('Shown').'</label></span></td>'. |
'</tr>'; |
'</tr>'; |
} |
} |
$datatable .= '</table>'; |
$datatable .= '</table>'; |
Line 2514 function getIndexByName(item) {
|
Line 2546 function getIndexByName(item) {
|
</script> |
</script> |
|
|
ENDJS |
ENDJS |
$output .= $currstr.&Apache::loncommon::start_data_table(); |
$output .= $currstr.'<table class="LC_nested_outer">'; |
if (@curr > 0) { |
if (@curr > 0) { |
for (my $i=0; $i<@curr; $i++) { |
for (my $i=0; $i<@curr; $i++) { |
my $pos = $i+1; |
my $pos = $i+1; |
$output .= &Apache::loncommon::start_data_table_row(). |
$output .= '<tr>'. |
'<td align="left"><span class="LC_nobreak">'. |
'<td align="left"><span class="LC_nobreak">'. |
&position_selector($pos,$i,$maxnum).&mt('Delete:'). |
&position_selector($pos,$i,$maxnum).&mt('Delete:'). |
'<input type="checkbox" name="printfmthdr_del_'.$i. |
'<input type="checkbox" name="printfmthdr_del_'.$i. |
Line 2532 ENDJS
|
Line 2564 ENDJS
|
'<input type="textbox" name="printfmthdr_text_'.$i.'"'. |
'<input type="textbox" name="printfmthdr_text_'.$i.'"'. |
' value="'.$curr[$i].'" size="25" /></td>'; |
' value="'.$curr[$i].'" size="25" /></td>'; |
} |
} |
$output .= &Apache::loncommon::end_data_table_row(); |
$output .= '</tr>'; |
} |
} |
} |
} |
my $pos = $currnum+1; |
my $pos = $currnum+1; |
$output .= &Apache::loncommon::start_data_table_row(). |
$output .= '<tr>'. |
'<td align="left"><span class="LC_nobreak">'. |
'<td align="left"><span class="LC_nobreak">'. |
&position_selector($pos,$currnum,$maxnum). |
&position_selector($pos,$currnum,$maxnum). |
'<b>'.&mt('New').'</b></span></td><td align="left">'. |
'<b>'.&mt('New').'</b></span></td><td align="left">'. |
&substitution_selector($currnum).'</td>'. |
&substitution_selector($currnum).'</td>'. |
&Apache::loncommon::end_data_table_row(); |
'</tr>'; |
$pos ++; |
$pos ++; |
$currnum ++; |
$currnum ++; |
$output .= &Apache::loncommon::start_data_table_row(). |
$output .= '<tr>'. |
'<td align="left"><span class="LC_nobreak">'. |
'<td align="left"><span class="LC_nobreak">'. |
&position_selector($pos,$currnum,$maxnum). |
&position_selector($pos,$currnum,$maxnum). |
'<b>'.&mt('New').'</b></span></td>'. |
'<b>'.&mt('New').'</b></span></td>'. |
Line 2553 ENDJS
|
Line 2585 ENDJS
|
'" value="" size ="25" />'. |
'" value="" size ="25" />'. |
'<input type="hidden" name="printfmthdr_maxnum" value="'. |
'<input type="hidden" name="printfmthdr_maxnum" value="'. |
$maxnum.'" /></td>'. |
$maxnum.'" /></td>'. |
&Apache::loncommon::end_data_table_row(). |
'</tr>'. |
&Apache::loncommon::end_data_table(); |
'</table>'; |
return $output; |
return $output; |
} |
} |
|
|