version 1.41, 2006/03/16 21:54:40
|
version 1.49, 2006/06/22 13:02:22
|
Line 34 use Apache::loncommon;
|
Line 34 use Apache::loncommon;
|
use Apache::loncoursedata; |
use Apache::loncoursedata; |
use Apache::lonnet; |
use Apache::lonnet; |
use Apache::lonlocal; |
use Apache::lonlocal; |
|
use Apache::longroup; |
|
use lib '/home/httpd/lib/perl/'; |
|
use LONCAPA; |
|
|
sub handler { |
sub handler { |
my $r = shift; |
my $r = shift; |
Line 49 sub handler {
|
Line 52 sub handler {
|
'sincefilter','form','cnumelement', |
'sincefilter','form','cnumelement', |
'cdomelement','cnameelement','roleelement', |
'cdomelement','cnameelement','roleelement', |
'pickedcourse','instcodefilter', |
'pickedcourse','instcodefilter', |
'ownerfilter','coursefilter','multiple']); |
'ownerfilter','coursefilter','multiple', |
|
'type']); |
# domain filter and selection |
# domain filter and selection |
my $domainfilter=$env{'form.domainfilter'}; |
my $domainfilter=$env{'form.domainfilter'}; |
$domainfilter=~s/\W//g; |
$domainfilter=~s/\W//g; |
Line 96 sub handler {
|
Line 100 sub handler {
|
['-1','86400','604800','2592000','7776000', |
['-1','86400','604800','2592000','7776000', |
'15552000','31104000'])); |
'15552000','31104000'])); |
# if called from loncreateuser, report sections, then close |
# if called from loncreateuser, report sections, then close |
my ($loaditem,$seclist); |
my (%loaditem,$seclist,$groupslist,$roleslist,$rolesnameslist,$sec_element, |
|
$grplist_element,$accesslist,$accessnameslist); |
|
my $sec_element = 'currsec'; |
|
my $grplist_element = 'groups'; |
my $num_sections = 0; |
my $num_sections = 0; |
|
my $num_groups = 0; |
|
my $num_roles = 0; |
|
my $num_access = 0; |
|
my ($cdom,$cnum); |
|
if ($env{'form.pickedcourse'}) { |
|
($cdom,$cnum) = split/_/,$env{'form.pickedcourse'}; |
|
} |
|
my $type = $env{'form.type'}; |
|
if (!defined($env{'form.type'})) { |
|
$type = 'Course'; |
|
} |
if ($env{'form.form'} eq 'cu' && $env{'form.pickedcourse'}) { |
if ($env{'form.form'} eq 'cu' && $env{'form.pickedcourse'}) { |
$loaditem = 'onLoad="setSections()"'; |
$loaditem{'onload'} ="setSections()"; |
my ($cdom,$cnum) = split/_/,$env{'form.pickedcourse'}; |
($seclist,$num_sections,$groupslist,$num_groups) = |
my %sections_count = (); |
&build_selection_lists($cdom,$cnum,$type,undef,undef, |
$num_sections = &Apache::loncommon::get_sections($cdom,$cnum,\%sections_count); |
$env{'form.form'}); |
my @sections = (); |
} |
if ($num_sections > 0) { |
# if called from portfolio, report roles, sections, groups and close |
@sections = (sort {$a <=> $b} keys(%sections_count)); |
my ($roles_element,$groups_element,$status_element,$setitems_function); |
$seclist = join('","',@sections); |
if ($env{'form.form'} eq 'portform' && $env{'form.pickedcourse'}) { |
|
my ($row_id) = ($env{'form.cnumelement'} =~ /^crsnum_(\d+)$/); |
|
$roles_element = 'role_'.$row_id.'_1'; |
|
$groups_element = 'group_'.$row_id.'_1'; |
|
$sec_element = 'section_'.$row_id.'_1'; |
|
$status_element = 'access_'.$row_id.'_1'; |
|
$grplist_element = 'grplist_'.$row_id.'_1'; |
|
$loaditem{'onload'} ="setItems()"; |
|
($seclist,$num_sections,$groupslist,$num_groups,$roleslist,$num_roles, |
|
$rolesnameslist,$accesslist,$num_access,$accessnameslist) = |
|
&build_selection_lists($cdom,$cnum,$type,1,1,$env{'form.form'}); |
|
$setitems_function = qq| |
|
function setItems() { |
|
opener.document.$env{"form.form"}.activate.checked = true; |
|
setRoles(); |
|
setGroups(); |
|
setStatus(); |
|
setSections(); |
|
} |
|
|
|
function setRoles() { |
|
var numRoles = $num_roles |
|
var rolesArray = new Array("$roleslist"); |
|
var roleNamesArray = new Array("$rolesnameslist"); |
|
opener.document.$env{"form.form"}.$roles_element.length = 0; |
|
if (numRoles == 0) { |
|
opener.document.$env{"form.form"}.$roles_element.multiple=false; |
|
opener.document.$env{"form.form"}.$roles_element.size=1; |
|
opener.document.$env{"form.form"}.$roles_element.options[0] = new Option('No existing roles','',false,false); |
|
} else { |
|
if (numRoles == 1) { |
|
opener.document.$env{"form.form"}.$roles_element.multiple=false; |
|
opener.document.$env{"form.form"}.$roles_element.size=1; |
|
opener.document.$env{"form.form"}.$roles_element.options[0] = new Option('Select','',true,true); |
|
opener.document.$env{"form.form"}.$roles_element.options[1] = new Option(roleNamesArray[0],rolesArray[0],false,false); |
|
} else { |
|
for (var i=0; i<numRoles; i++) { |
|
opener.document.$env{"form.form"}.$roles_element.options[i] = new Option(roleNamesArray[i],rolesArray[i],false,false); |
|
} |
|
opener.document.$env{"form.form"}.$roles_element.multiple=true; |
|
if (numRoles < 3) { |
|
opener.document.$env{"form.form"}.$roles_element.size=numRoles; |
|
} else { |
|
opener.document.$env{"form.form"}.$roles_element.size=3; |
|
} |
|
opener.document.$env{"form.form"}.$roles_element.options[0].selected = false; |
} |
} |
} |
} |
|
} |
|
|
|
function setStatus() { |
|
var numStatus = $num_access; |
|
var statusArray = new Array("$accesslist"); |
|
var statusNamesArray = new Array("$accessnameslist"); |
|
opener.document.$env{"form.form"}.$status_element.multiple=true; |
|
opener.document.$env{"form.form"}.$status_element.size=3; |
|
for (var i=0; i<numStatus; i++) { |
|
opener.document.$env{"form.form"}.$status_element.options[i] = new Option(statusNamesArray[i],statusArray[i],false,false); |
|
} |
|
} |
|
|
|
function setGroups() { |
|
var numGroups = $num_groups; |
|
var groupsArray = new Array("$groupslist"); |
|
opener.document.$env{"form.form"}.$groups_element.length = 0; |
|
if (numGroups == 0) { |
|
opener.document.$env{"form.form"}.$groups_element.multiple=false; |
|
opener.document.$env{"form.form"}.$groups_element.size=1; |
|
opener.document.$env{"form.form"}.$groups_element.options[0] = new Option('No existing groups','',false,false); |
|
} else { |
|
if (numGroups == 1) { |
|
opener.document.$env{"form.form"}.$groups_element.multiple=false; |
|
opener.document.$env{"form.form"}.$groups_element.size=1; |
|
opener.document.$env{"form.form"}.$groups_element.options[0] = new Option('Select','',true,true); |
|
opener.document.$env{"form.form"}.$groups_element.options[1] = new Option('No group','',false,false); |
|
opener.document.$env{"form.form"}.$groups_element.options[2] = new Option(groupsArray[0],groupsArray[0],false,false); |
|
} else { |
|
for (var i=0; i<numGroups; i++) { |
|
opener.document.$env{"form.form"}.$groups_element.options[i] = new Option(groupsArray[i],groupsArray[i],false,false); |
|
} |
|
opener.document.$env{"form.form"}.$groups_element.multiple=true; |
|
if (numGroups < 3) { |
|
opener.document.$env{"form.form"}.$groups_element.size=numGroups; |
|
} else { |
|
opener.document.$env{"form.form"}.$groups_element.size=3; |
|
} |
|
opener.document.$env{"form.form"}.$groups_element.options[0].selected = false; |
|
} |
|
} |
|
} |
|
|
|
|; |
|
} |
my $jscript; |
my $jscript; |
my $title = 'Selecting a course'; |
my $typeselectform = '<select name="type" size="1"'; |
|
$typeselectform .= ">\n"; |
|
foreach my $posstype ('Course','Group') { |
|
$typeselectform.='<option value="'.$posstype.'" "'. |
|
($posstype eq $type ? 'selected="selected" ' : ''). ">$posstype</option>\n"; |
|
} |
|
$typeselectform.="</select>"; |
|
my $title = &mt('Selecting a [_1]',$type); |
# Setup for multiple course selections, if flag for multiples set. |
# Setup for multiple course selections, if flag for multiples set. |
my $multiple = $env{'form.multiple'}; |
my $multiple = $env{'form.multiple'}; |
my $multelement; |
my $multelement; |
if ($multiple) { |
if ($multiple) { |
$title = 'Selecting course(s)'; |
$title = &mt('Selecting [_1](s)',lc($type)); |
$jscript = &Apache::loncommon::check_uncheck_jscript(); |
$jscript = &Apache::loncommon::check_uncheck_jscript(); |
$multelement = '<input type="hidden" name="multiple" value="'.$multiple.'" />'; |
$multelement = '<input type="hidden" name="multiple" value="'.$multiple.'" />'; |
} |
} |
$r->print(&Apache::loncommon::start_page($title,undef, |
$r->print(&Apache::loncommon::start_page($title,undef, |
{'add_entries' => $loaditem, |
{'add_entries' => \%loaditem, |
'no_nav_bar' => 1, })); |
'no_nav_bar' => 1, })); |
my %lt=&Apache::lonlocal::texthash( |
my %lt = ( |
'cac' => 'Course Activity', |
'cac' => &mt('[_1] Activity',$type), |
'cde' => 'Course Description', |
'cde' => &mt('[_1] Description',$type), |
'cdo' => 'Course Domain', |
'cdo' => &mt('[_1] Domain',$type), |
'cin' => 'Course Institutional Code', |
'cin' => &mt('Course Institutional Code'), |
'cow' => "Course Owner's Username"); |
'cow' => &mt("[_1] Owner's Username",$type), |
|
'cog' => &mt('Course or Group') |
|
); |
|
|
my ($name_code,$name_input); |
my ($name_code,$name_input); |
if (defined($env{'form.cnameelement'}) && $env{'form.cnameelement'} ne '') { |
if (defined($env{'form.cnameelement'}) && $env{'form.cnameelement'} ne '') { |
$name_code = "opener.document.$env{'form.form'}.$env{'form.cnameelement'}.value=cdesc;"; |
$name_code = "opener.document.$env{'form.form'}.$env{'form.cnameelement'}.value=cdesc;"; |
Line 142 sub handler {
|
Line 260 sub handler {
|
$lastaction = 'document.courselist.pickedcourse.value = cdom+"_"+cname;'."\n". |
$lastaction = 'document.courselist.pickedcourse.value = cdom+"_"+cname;'."\n". |
'document.courselist.submit();'; |
'document.courselist.submit();'; |
} |
} |
|
if ($env{'form.form'} eq 'portform') { |
|
$lastaction = 'document.courselist.pickedcourse.value = cdom+"_"+cname;'."\n". |
|
'document.courselist.submit();'; |
|
} |
my $roledom = $env{'form.roleelement'}; |
my $roledom = $env{'form.roleelement'}; |
if ($roledom) { |
if ($roledom) { |
$roleelement = '<input type="hidden" name="roleelement" value="'.$roledom.'" />'; |
$roleelement = '<input type="hidden" name="roleelement" value="'.$roledom.'" />'; |
$submitopener = &Apache::lonroles::processpick(); |
$submitopener = &Apache::lonroles::processpick(); |
$autosubmit = 'process_pick("'.$roledom.'")'; |
$autosubmit = 'process_pick("'.$roledom.'")'; |
} |
} |
|
my $instcodeform; |
|
if ($type eq 'Course') { |
|
$instcodeform = $lt{'cin'}.':<input type="text" name="instcodefilter" |
|
size="10" value="'.$listinstcode.'" /><br />'; |
|
} |
|
|
|
my %elements = ( |
|
Course => { |
|
name => 'coursepick', |
|
total => 'coursetotal', |
|
list => 'courselist', |
|
}, |
|
Group => { |
|
name => 'grouppick', |
|
total => 'grouptotal', |
|
list => 'grouplist', |
|
}, |
|
); |
|
|
$r->print(<<ENDSCRIPT); |
$r->print(<<ENDSCRIPT); |
<script> |
<script> |
function gochoose(cname,cdom,cdesc,multiple,caller) { |
function gochoose(cname,cdom,cdesc,multiple,caller) { |
Line 169 function gochoose(cname,cdom,cdesc,multi
|
Line 310 function gochoose(cname,cdom,cdesc,multi
|
} |
} |
} |
} |
} |
} |
opener.document.$env{'form.form'}.coursetotal.value = courseCount; |
opener.document.$env{'form.form'}.$elements{$type}{'total'}.value = courseCount; |
if (typeof(opener.document.$env{'form.form'}.coursepick.length) == |
if (typeof(opener.document.$env{'form.form'}.$elements{$type}{'name'}.length) == |
'undefined') { |
'undefined') { |
if (opener.document.$env{'form.form'}.coursepick.value == 'specific') { |
if (opener.document.$env{'form.form'}.$elements{$type}{'name'}.value == 'specific') { |
opener.document.$env{'form.form'}.coursepick.checked = true; |
opener.document.$env{'form.form'}.$elements{$type}{'name'}.checked = true; |
} else { |
} else { |
opener.document.$env{'form.form'}.coursepick.checked = false; |
opener.document.$env{'form.form'}.$elements{$type}{'name'}.checked = false; |
} |
} |
} else { |
} else { |
for (var j=0; j<opener.document.$env{'form.form'}.coursepick.length; j++) { |
for (var j=0; j<opener.document.$env{'form.form'}.$elements{$type}{'name'}.length; j++) { |
if (opener.document.$env{'form.form'}.coursepick[j].value == 'specific') { |
if (opener.document.$env{'form.form'}.$elements{$type}{'name'}\[j].value == 'specific') { |
opener.document.$env{'form.form'}.coursepick[j].checked = true; |
opener.document.$env{'form.form'}.$elements{$type}{'name'}\[j].checked = true; |
} else { |
} else { |
opener.document.$env{'form.form'}.coursepick[j].checked = false; |
opener.document.$env{'form.form'}.$elements{$type}{'name'}\[j].checked = false; |
} |
} |
} |
} |
} |
} |
if (courseCount > 0) { |
if (courseCount > 0) { |
courses = courses.substr(0,courses.length-2); |
courses = courses.substr(0,courses.length-2); |
opener.document.$env{'form.form'}.courselist.value = courses; |
opener.document.$env{'form.form'}.$elements{$type}{'list'}.value = courses; |
} |
} |
} else { |
} else { |
$name_code |
$name_code |
Line 211 function gochoose(cname,cdom,cdesc,multi
|
Line 352 function gochoose(cname,cdom,cdesc,multi
|
function setSections() { |
function setSections() { |
var numSections = $num_sections |
var numSections = $num_sections |
var sectionsArray = new Array("$seclist") |
var sectionsArray = new Array("$seclist") |
opener.document.$env{"form.form"}.currsec.length = 0 |
opener.document.$env{"form.form"}.$sec_element.length = 0 |
if (numSections == 0) { |
if (numSections == 0) { |
opener.document.$env{"form.form"}.currsec.multiple=false |
opener.document.$env{"form.form"}.$sec_element.multiple=false |
opener.document.$env{"form.form"}.currsec.size=1; |
opener.document.$env{"form.form"}.$sec_element.size=1; |
opener.document.$env{"form.form"}.currsec.options[0] = new Option('No existing sections','',false,false) |
opener.document.$env{"form.form"}.$sec_element.options[0] = new Option('No existing sections','',false,false) |
} else { |
} else { |
if (numSections == 1) { |
if (numSections == 1) { |
opener.document.$env{"form.form"}.currsec.multiple=false; |
opener.document.$env{"form.form"}.$sec_element.multiple=false; |
opener.document.$env{"form.form"}.currsec.size=1; |
opener.document.$env{"form.form"}.$sec_element.size=1; |
opener.document.$env{"form.form"}.currsec.options[0] = new Option('Select','',true,true); |
opener.document.$env{"form.form"}.$sec_element.options[0] = new Option('Select','',true,true); |
opener.document.$env{"form.form"}.currsec.options[1] = new Option('No section','',false,false) |
opener.document.$env{"form.form"}.$sec_element.options[1] = new Option('No section','',false,false) |
opener.document.$env{"form.form"}.currsec.options[2] = new Option(sectionsArray[0],sectionsArray[0],false,false); |
opener.document.$env{"form.form"}.$sec_element.options[2] = new Option(sectionsArray[0],sectionsArray[0],false,false); |
} else { |
} else { |
for (var i=0; i<numSections; i++) { |
for (var i=0; i<numSections; i++) { |
opener.document.$env{"form.form"}.currsec.options[i] = new Option(sectionsArray[i],sectionsArray[i],false,false) |
opener.document.$env{"form.form"}.$sec_element.options[i] = new Option(sectionsArray[i],sectionsArray[i],false,false) |
} |
} |
opener.document.$env{"form.form"}.currsec.multiple=true |
opener.document.$env{"form.form"}.$sec_element.multiple=true |
if (numSections < 3) { |
if (numSections < 3) { |
opener.document.$env{"form.form"}.currsec.size=numSections; |
opener.document.$env{"form.form"}.$sec_element.size=numSections; |
} else { |
} else { |
opener.document.$env{"form.form"}.currsec.size=3; |
opener.document.$env{"form.form"}.$sec_element.size=3; |
} |
} |
opener.document.$env{"form.form"}.currsec.options[0].selected = false |
opener.document.$env{"form.form"}.$sec_element.options[0].selected = false |
} |
} |
} |
} |
|
opener.document.$env{"form.form"}.$grplist_element.value='$groupslist'; |
self.close() |
self.close() |
} |
} |
|
|
|
$setitems_function |
|
|
$jscript |
$jscript |
</script> |
</script> |
$submitopener |
$submitopener |
<form method="post" name="filterpicker"> |
<form method="post" name="filterpicker" action="/adm/pickcourse"> |
<input type="hidden" name="cnumelement" value="$env{'form.cnumelement'}" /> |
<input type="hidden" name="cnumelement" value="$env{'form.cnumelement'}" /> |
<input type="hidden" name="cdomelement" value="$env{'form.cdomelement'}" /> |
<input type="hidden" name="cdomelement" value="$env{'form.cdomelement'}" /> |
$name_input |
$name_input |
Line 253 $lt{'cac'}: $sincefilterform
|
Line 397 $lt{'cac'}: $sincefilterform
|
<br /> |
<br /> |
$lt{'cdo'}: $domainselectform |
$lt{'cdo'}: $domainselectform |
<br /> |
<br /> |
$lt{'cin'}: |
$lt{'cog'}: $typeselectform |
<input type="text" name="instcodefilter" size="10" value="$listinstcode" /> |
|
<br /> |
<br /> |
|
$instcodeform |
$lt{'cow'}: |
$lt{'cow'}: |
<input type="text" name="ownerfilter" size="10" value="$listowner" /> |
<input type="text" name="ownerfilter" size="10" value="$listowner" /> |
<br /> |
<br /> |
Line 274 ENDSCRIPT
|
Line 418 ENDSCRIPT
|
unless ($instcodefilter) { $instcodefilter='.'; } |
unless ($instcodefilter) { $instcodefilter='.'; } |
unless ($ownerfilter) { $ownerfilter='.'; } |
unless ($ownerfilter) { $ownerfilter='.'; } |
unless ($coursefilter) { $coursefilter='.'; } |
unless ($coursefilter) { $coursefilter='.'; } |
|
unless ($type) { $type = '.'; } |
my $timefilter=($sincefilter==-1?1:time-$sincefilter); |
my $timefilter=($sincefilter==-1?1:time-$sincefilter); |
my %courses= |
my %courses= |
&Apache::lonnet::courseiddump |
&Apache::lonnet::courseiddump |
($domainfilter,$descriptfilter,$timefilter,$instcodefilter,$ownerfilter,$coursefilter); |
($domainfilter,$descriptfilter,$timefilter,$instcodefilter,$ownerfilter,$coursefilter,undef,undef,$type); |
$r->print('<form name="courselist">'); |
$r->print('<form name="courselist" method="post" action="/adm/pickcourse">'); |
my %by_descrip; |
my %by_descrip; |
my $numcourses = keys(%courses); |
my $numcourses = keys(%courses); |
foreach my $course (keys(%courses)) { |
foreach my $course (keys(%courses)) { |
my $descr; |
my $descr; |
if ($courses{$course} =~ m/^([^:]*):/i) { |
if ($courses{$course} =~ m/^([^:]*):/i) { |
$descr = &Apache::lonnet::unescape($1); |
$descr = &unescape($1); |
} else { |
} else { |
$descr = &Apache::lonnet::unescape($courses{$course}); |
$descr = &unescape($courses{$course}); |
} |
} |
my $description = $descr; |
my $description = $descr; |
push (@{$by_descrip{$description}}, $course); |
push (@{$by_descrip{$description}}, $course); |
Line 303 ENDSCRIPT
|
Line 448 ENDSCRIPT
|
my $cleandesc=&HTML::Entities::encode($description,'<>&"'); |
my $cleandesc=&HTML::Entities::encode($description,'<>&"'); |
$cleandesc=~s/'/\\'/g; |
$cleandesc=~s/'/\\'/g; |
my ($cdom,$cnum)=split(/\_/,$course); |
my ($cdom,$cnum)=split(/\_/,$course); |
my ($descr,$instcode,$owner) = split/:/,$courses{$course}; |
my ($descr,$instcode,$owner,$ttype) = split/:/,$courses{$course}; |
$r->print(&course_chooser($multiple,$cdom,$cnum,$cleandesc)); |
$r->print(&course_chooser($multiple,$cdom,$cnum,$cleandesc)); |
$r->print($description.'('. |
$r->print($description.'('. |
($Apache::lonnet::domaindescription{$cdom}? |
($Apache::lonnet::domaindescription{$cdom}? |
$Apache::lonnet::domaindescription{$cdom}:$cdom).")"); |
$Apache::lonnet::domaindescription{$cdom}:$cdom).")"); |
unless ($instcode eq '') { |
unless ($instcode eq '') { |
$r->print(" - ".&Apache::lonnet::unescape($instcode)); |
$r->print(" - ".&unescape($instcode)); |
} |
} |
unless ($owner eq '') { |
unless ($owner eq '') { |
$r->print(", owner - ".&Apache::lonnet::unescape($owner)); |
$r->print(", owner - ".&unescape($owner)); |
|
} |
|
unless ($ttype eq '') { |
|
$r->print('('.&Apache::lonnet::unescape($ttype).')'); |
} |
} |
if ($multiple) { $r->print("</label>\n"); } |
if ($multiple) { $r->print("</label>\n"); } |
$r->print("<br />\n"); |
$r->print("<br />\n"); |
Line 326 ENDSCRIPT
|
Line 474 ENDSCRIPT
|
$r->print('<input type="hidden" name="form" value="'.$env{'form.form'}.'" />'."\n". |
$r->print('<input type="hidden" name="form" value="'.$env{'form.form'}.'" />'."\n". |
'<input type="hidden" name="pickedcourse" value="" />'."\n". |
'<input type="hidden" name="pickedcourse" value="" />'."\n". |
'<input type="hidden" name="cnumelement" value="'.$env{'form.cnumelement'}.'" />'."\n". |
'<input type="hidden" name="cnumelement" value="'.$env{'form.cnumelement'}.'" />'."\n". |
'<input type="hidden" name="cdomelement" value="'.$env{'form.cdomelement'}.'" />'."\n"); |
'<input type="hidden" name="cdomelement" value="'.$env{'form.cdomelement'}.'" />'."\n". |
|
'<input type="hidden" name="type" value="'.$type.'" />'."\n"); |
if ((exists($env{'form.roleelement'})) && ($env{'form.form'} eq 'rolechoice')) { |
if ((exists($env{'form.roleelement'})) && ($env{'form.form'} eq 'rolechoice')) { |
$r->print('<input type="hidden" name="roleelement" value="'.$env{'form.roleelement'}.'" />'."\n"); |
$r->print('<input type="hidden" name="roleelement" value="'.$env{'form.roleelement'}.'" />'."\n"); |
} |
} |
Line 346 sub course_chooser {
|
Line 495 sub course_chooser {
|
"'".$cnum."','".$cdom."','".$cleandesc."')".'" />'."\n"; |
"'".$cnum."','".$cdom."','".$cleandesc."')".'" />'."\n"; |
} |
} |
return $output; |
return $output; |
} |
} |
|
|
|
sub build_selection_lists { |
|
my ($cdom,$cnum,$type,$needroles,$needaccess,$caller) = @_; |
|
my ($sections,$groups,$allroles,$roleshash,$accesshash) = |
|
&Apache::loncommon::get_secgrprole_info($cdom,$cnum,$needroles,$type); |
|
if ($caller eq 'portform') { |
|
if (@{$sections} == 0) { |
|
@{$sections} = ('none'); |
|
} else { |
|
unshift(@{$sections},('all','none')); |
|
} |
|
if (@{$groups} == 0) { |
|
@{$groups} = ('none'); |
|
} else { |
|
unshift(@{$groups},('all','none')); |
|
} |
|
|
|
} |
|
my $num_sections = scalar(@{$sections}); |
|
my $seclist = join('","',@{$sections}); |
|
my $num_groups = scalar(@{$groups}); |
|
my $groupslist = join('","',@{$groups}); |
|
my ($roleslist,$num_roles,$rolesnameslist,$num_access,$accesslist, |
|
$accessnameslist); |
|
if ($needroles) { |
|
$num_roles = @{$allroles}; |
|
$roleslist = join('","',@{$allroles}); |
|
my @allrolesnames; |
|
foreach my $role (@{$allroles}) { |
|
push(@allrolesnames,$$roleshash{$role}); |
|
} |
|
$rolesnameslist = join('","',@allrolesnames); |
|
} |
|
if ($needaccess) { |
|
$num_access = keys(%{$accesshash}); |
|
my (@allaccess,@allaccessnames); |
|
foreach my $key (sort(keys(%{$accesshash}))) { |
|
push(@allaccess,$key); |
|
push(@allaccessnames,$$accesshash{$key}); |
|
} |
|
$accesslist = join('","',@allaccess); |
|
$accessnameslist = join('","',@allaccessnames); |
|
} |
|
return ($seclist,$num_sections,$groupslist,$num_groups,$roleslist, |
|
$num_roles,$rolesnameslist,$accesslist,$num_access,$accessnameslist); |
|
} |
|
|
1; |
1; |
__END__ |
__END__ |