--- loncom/interface/loncreateuser.pm 2009/08/14 14:45:50 1.295.2.5 +++ loncom/interface/loncreateuser.pm 2009/07/27 14:09:14 1.300 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Create a user # -# $Id: loncreateuser.pm,v 1.295.2.5 2009/08/14 14:45:50 raeburn Exp $ +# $Id: loncreateuser.pm,v 1.300 2009/07/27 14:09:14 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -143,7 +143,6 @@ sub portfolio_quota { $custom_off = ' checked="checked" '; my $quota_javascript = <<"END_SCRIPT"; END_SCRIPT if ($quotatype eq 'custom') { @@ -227,12 +225,14 @@ sub build_tools_display { 'usde' => "Use default", 'uscu' => "Use custom", 'official' => 'Can request creation of official courses', - 'unofficial' => 'Can request creation of unofficial courses', + 'unofficial' => 'Can request creation of unofficial courses', + 'community' => 'Can request creation of communities', ); if ($context eq 'requestcourses') { %userenv = &Apache::lonnet::userenvironment($ccdomain,$ccuname, - 'requestcourses.official','requestcourses.unofficial'); - @usertools = ('official','unofficial'); + 'requestcourses.official','requestcourses.unofficial', + 'requestcourses.community'); + @usertools = ('official','unofficial','community'); } else { %userenv = &Apache::lonnet::userenvironment($ccdomain,$ccuname, 'tools.aboutme','tools.portfolio','tools.blog'); @@ -246,15 +246,13 @@ sub build_tools_display { &Apache::lonnet::usertools_access($ccuname,$ccdomain,$item,undef, $context); if ($userenv{$context.'.'.$item} eq '') { - $custom_access = - &mt('Availability determined currently from default setting.'); + $custom_access = 'default'; if (!$curr_access) { $tool_off = 'checked="checked" '; $tool_on = ''; } } else { - $custom_access = - &mt('Availability determined currently from custom setting.'); + $custom_access = 'custom'; $cust_on = ' checked="checked" '; $cust_off = ''; if ($userenv{$context.'.'.$item} == 0) { @@ -266,7 +264,8 @@ sub build_tools_display { ' '.$lt{$item}.''."\n". ' '."\n". &Apache::loncommon::start_data_table_row()."\n". - ' '.$custom_access.(' 'x5).$lt{'avai'}.': '. + ' '.&mt('Availability determined currently from [_1] setting.',$custom_access). + '     '.$lt{'avai'}.': '. ($curr_access?&mt('Yes'):&mt('No')).''."\n". &Apache::loncommon::end_data_table_row()."\n". &Apache::loncommon::start_data_table_row()."\n". @@ -287,7 +286,7 @@ sub build_tools_display { sub coursereq_externaluser { my ($ccuname,$ccdomain,$cdom) = @_; - my (@usertools,@options,%validations,%userenv,$output); + my (@usertools,%userenv,$output); my %lt = &Apache::lonlocal::texthash ( 'official' => 'Can request creation of official courses', 'unofficial' => 'Can request creation of unofficial courses', @@ -298,81 +297,27 @@ sub coursereq_externaluser { 'reqcrsotherdom.official','reqcrsotherdom.unofficial', 'reqcrsotherdom.community'); @usertools = ('official','unofficial','community'); - @options = ('approve','validate','autolimit'); - %validations = &Apache::lonnet::auto_courserequest_checks($cdom); - my $optregex = join('|',@options); - my %reqtitles = &courserequest_titles(); foreach my $item (@usertools) { - my ($curroption,$currlimit,$tooloff); + my ($tool_on,$tool_off); + $tool_off = 'checked="checked" '; if ($userenv{'reqcrsotherdom.'.$item} ne '') { my @curr = split(',',$userenv{'reqcrsotherdom.'.$item}); - if (grep(/^\Q$cdom\E:($optregex)=?(\d*)$/,@curr)) { - $curroption = $1; - $currlimit = $2; - if (!$curroption) { - $curroption = 'norequest'; - } + if (grep(/^\Q$cdom\E$/,@curr)) { + $tool_on = 'checked="checked" '; + $tool_off = ''; } - } else { - $curroption = 'norequest'; - $tooloff = ' checked="checked"'; - } - $output.= &Apache::loncommon::start_data_table_row()."\n". - ' '.$lt{$item}.': '. - ' '; - foreach my $option (@options) { - if ($option eq 'validate') { - my $canvalidate = 0; - if (ref($validations{$item}) eq 'HASH') { - if ($validations{$item}{'_external_'}) { - $canvalidate = 1; - } - } - next if (!$canvalidate); - } - my $checked = ''; - if ($option eq $curroption) { - $checked = ' checked="checked"'; - } - $output .= ' '; - if ($option eq 'autolimit') { - $output .= ''; - } - $output .= ' ' } - $output .= ''."\n". + $output .= &Apache::loncommon::start_data_table_row()."\n". + ' '.$lt{$item}.':  '."\n". &Apache::loncommon::end_data_table_row()."\n"; } return $output; } -sub courserequest_titles { - my %titles = &Apache::lonlocal::texthash ( - official => 'Official', unofficial => 'Unofficial', - community => 'Communities', norequest => 'Not allowed', - approve => 'Approval by Dom. Coord.', - validate => 'With validation', - autolimit => 'Numerical limit', - ); - return %titles; -} - -sub courserequest_display { - my %titles = &Apache::lonlocal::texthash ( - approve => 'Yes, need approval', - validate => 'Yes, with validation', - norequest => 'No', - ); - return %titles; -} - # =================================================================== Phase one sub print_username_entry_form { @@ -390,9 +335,7 @@ sub print_username_entry_form { my $jscript = &Apache::loncommon::studentbrowser_javascript()."\n". ''."\n"; my %loaditems = ( @@ -559,7 +502,6 @@ sub user_modification_js { return < -// + END } @@ -596,7 +538,6 @@ sub print_user_selection_page { my $jscript = (< -// ENDSCRIPT @@ -854,9 +794,7 @@ $crumbs $response $forminfo

$lt{'cnu'} "$ccuname" $lt{'ind'} $ccdomain @@ -880,13 +818,6 @@ $lt{'hs'}: $home_server_pick } else { $r->print($home_server_pick); } - if (&Apache::lonnet::allowed('ccc',$env{'request.role.domain'})) { - $r->print('

'.&mt('User Can Request Creation of Courses in this Domain?').'

'. - &Apache::loncommon::start_data_table(). - &build_tools_display($ccuname,$ccdomain, - 'requestcourses'). - &Apache::loncommon::end_data_table()); - } $r->print(''."\n".'

'. $lt{'lg'}.'

'); my ($fixedauth,$varauth,$authmsg); @@ -920,7 +851,7 @@ KERB } else { if ($authtype eq 'int') { $varauth = '
'. -&mt('[_1] Internally authenticated (with initial password [_2])','','')."'; +&mt('[_1] Internally authenticated (with initial password [_2])','','')."'; } elsif ($authtype eq 'loc') { $varauth = '
'. &mt('[_1] Local Authentication with argument [_2]','','')."\n"; @@ -978,9 +909,9 @@ ENDCHANGEUSER $r->print(&Apache::lonuserutils::forceid_change($context)); } if (&Apache::lonnet::allowed('ccc',$env{'request.role.domain'})) { - $r->print('

'.&mt('User Can Request Creation of Courses?').'

'. + $r->print('

'.&mt('User Can Request Creation of Courses in this Domain?').'

'. &Apache::loncommon::start_data_table()); - if ($env{'request.role.domain'} eq $ccdomain) { + if ($env{'request.role.domain'} eq $ccdomain) { $r->print(&build_tools_display($ccuname,$ccdomain,'requestcourses')); } else { $r->print(&coursereq_externaluser($ccuname,$ccdomain, @@ -1062,7 +993,7 @@ ENDNOTOOLSPRIV } ## End of new user/old user logic if ($env{'form.action'} eq 'singlestudent') { - $r->print('
'."\n"); + $r->print('
'."\n"); } else { $r->print('

'.&mt('Add Roles').'

'); my $addrolesdisplay = 0; @@ -1075,14 +1006,14 @@ ENDNOTOOLSPRIV $addrolesdisplay = $add_domainroles; } $r->print(&course_level_dc($env{'request.role.domain'},'Course')); - $r->print('
'."\n"); + $r->print('
'."\n"); } elsif ($context eq 'author') { if ($addrolesdisplay) { $r->print('
print(' onclick="auth_check()" \>'."\n"); + $r->print(' onClick="auth_check()" \>'."\n"); } else { - $r->print('onclick="this.form.submit()" \>'."\n"); + $r->print('onClick="this.form.submit()" \>'."\n"); } } else { $r->print('
'. @@ -1090,7 +1021,7 @@ ENDNOTOOLSPRIV } } else { $r->print(&course_level_table(%inccourses)); - $r->print('
'."\n"); + $r->print('
'."\n"); } } $r->print(&Apache::lonhtmlcommon::echo_form_input(['phase','userrole','ccdomain','prevphase','currstate','ccuname','ccdomain'])); @@ -1158,11 +1089,7 @@ sub validation_javascript { $nondc_setsection_code,$groupslist); my ($jsback,$elements) = &crumb_utilities(); $js .= "\n". - ''."\n"; + ''; return $js; } @@ -1515,9 +1442,7 @@ sub user_authentication { my $choices = &Apache::lonuserutils::set_login($ccdomain,$authformkrb,$authformint,$authformloc); $outcome = < -// $lt{'err'}: $lt{'uuas'} ($currentauth). $lt{'sldb'}. @@ -1546,9 +1471,7 @@ ENDBADAUTH ); $outcome = ''."\n". '

'.$lt{'ld'}.'

'. &Apache::loncommon::start_data_table(). @@ -1879,10 +1802,7 @@ sub update_user_data { my $newuser = 0; my ($jsback,$elements) = &crumb_utilities(); my $jscript = ''."\n"; + $jsback."\n".''."\n"; my %breadcrumb_text = &singleuser_breadcrumb(); my $args; if ($env{'form.popup'}) { @@ -1982,7 +1902,7 @@ sub update_user_data { $env{'form.ccuname'}, $env{'form.ccdomain'}).''); my (%alerts,%rulematch,%inst_results,%curr_rules); my @usertools = ('aboutme','blog','portfolio'); - my @requestcourses = ('official','unofficial'); + my @requestcourses = ('official','unofficial','community'); my ($othertitle,$usertypes,$types) = &Apache::loncommon::sorted_inst_types($env{'form.ccdomain'}); if ($env{'form.makeuser'}) { @@ -2344,13 +2264,13 @@ sub update_user_data { } &tool_changes('tools',\@usertools,\%oldaccess,\%oldaccesstext,\%userenv, \%changeHash,\%changed,\%newaccess,\%newaccesstext); - if ($env{'form.ccdomain'} eq $env{'request.role.domain'}) { &tool_changes('requestcourses',\@requestcourses,\%oldaccess,\%oldaccesstext, \%userenv,\%changeHash,\%changed,\%newaccess,\%newaccesstext); } else { &tool_changes('reqcrsotherdom',\@requestcourses,\%oldaccess,\%oldaccesstext, - \%userenv,\%changeHash,\%changed,\%newaccess,\%newaccesstext); + \%userenv, + \%changeHash,\%changed,\%newaccess,\%newaccesstext); } if ($env{'form.cfirstname'} ne $userenv{'firstname'} || $env{'form.cmiddlename'} ne $userenv{'middlename'} || @@ -2377,7 +2297,8 @@ sub update_user_data { ($env{'user.domain'} eq $env{'form.ccdomain'})) { my %newenvhash; foreach my $key (keys(%changed)) { - if (($key eq 'official') || ($key eq 'unofficial')) { + if (($key eq 'official') || ($key eq 'unofficial') + || ($key eq 'community')) { $newenvhash{'environment.requestcourses.'.$key} = $changeHash{'requestcourses.'.$key}; if ($changeHash{'requestcourses.'.$key} ne '') { @@ -2439,6 +2360,7 @@ sub update_user_data { 'portfolio' => 'Portfolio Availability', 'official' => 'Can Request Official Courses', 'unofficial' => 'Can Request Unofficial Courses', + 'community' => 'Can Request Communities', 'inststatus' => "Affiliation", 'prvs' => 'Previous Value:', 'chto' => 'Changed To:' @@ -2591,7 +2513,8 @@ END 'aboutme' => "Personal Information Page Availability", 'portfolio' => "Portfolio Availability", 'official' => "Can Request Official Courses", - 'unofficial' => "Can Request Unofficial Course", + 'unofficial' => "Can Request Unofficial Courses", + 'community' => "Can Request Communities", 'inststatus' => "Affiliation", ); $r->print(<<"END"); @@ -2706,14 +2629,10 @@ sub tool_changes { return; } if ($context eq 'reqcrsotherdom') { - my @options = ('approve','validate','autolimit'); - my $optregex = join('|',@options); - my %reqdisplay = &courserequest_display(); my $cdom = $env{'request.role.domain'}; foreach my $tool (@{$usertools}) { $oldaccesstext->{$tool} = &mt('no'); - $changeHash->{$context.'.'.$tool} = $userenv->{$context.'.'.$tool -}; + $changeHash->{$context.'.'.$tool} = $userenv->{$context.'.'.$tool}; if ($userenv->{$context.'.'.$tool} eq '') { if ($env{'form.'.$context.'_'.$tool}) { $changed->{$tool}=&tool_admin($tool,$cdom, @@ -2721,43 +2640,30 @@ sub tool_changes { if ($changed->{$tool}) { $newaccesstext->{$tool} = &mt('yes'); } else { - $newaccesstext->{$tool} = $oldaccesstext->{$tool}; } + $newaccesstext->{$tool} = $oldaccesstext->{$tool}; + } } } else { my @curr = split(',',$userenv->{$context.'.'.$tool}); my @new; my $changedoms; - my $newop = $env{'form.'.$context.'_'.$tool}; - if ($newop eq 'autolimit') { - $newop .= '='; - unless ($env{'form.'.$context.'_'.$tool.'_limit'} =~ /\D/ -) { - $newop .= $env{'form.'.$context.'_'.$tool.'_limit'}; - } - } - if (grep(/^\Q$cdom:($optregex\=?\d*)\E$/,@curr)) { + if (grep(/^\Q$cdom\E$/,@curr)) { $oldaccesstext->{$tool} = &mt('yes'); - my $oldop = $1; - if ($oldop ne $newop) { + unless ($env{'form.'.$context.'_'.$tool}) { $changedoms = 1; foreach my $dom (@curr) { unless ($dom eq $cdom) { push(@new,$dom); } } - if ($newop) { - push(@new,$cdom.':'.$newop); - } - @new = sort(@new); } } elsif ($env{'form.'.$context.'_'.$tool}) { $changedoms = 1; - $changedoms = 1; - @new = sort(@curr,$cdom.':'.$newop); + @new = sort(@curr,$cdom); } $newaccesstext->{$tool} = $oldaccesstext->{$tool}; if ($changedoms) { - my $newdomstr; + my $newdomstr; if (@new) { $newdomstr = join(',',@new); } @@ -2765,17 +2671,9 @@ sub tool_changes { $context); if ($changed->{$tool}) { if ($env{'form.'.$context.'_'.$tool}) { - if ($env{'form.'.$context.'_'.$tool} eq 'autolimit') { - if ($env{'form.'.$context.'_'.$tool.'_limit'} =~ /\D/) { - $newaccesstext->{$tool} = &mt('Yes, processed automatically'); - } else { - $newaccesstext->{$tool} = &mt('Yes, up to limit of [quant,_1,request] per user).',$env{'form.'.$context.'_'.$tool.'_limit'}); - } - } else { - $newaccesstext->{$tool} = $reqdisplay{$env{'form.'.$context.'_'.$tool}}; - } + $newaccesstext->{$tool} = &mt('yes'); } else { - $newaccesstext->{$tool} = &mt('No'); + $newaccesstext->{$tool} = &mt('no'); } } } @@ -2822,9 +2720,9 @@ sub tool_changes { } else { $newaccess->{$tool} = $oldaccess->{$tool}; if ($userenv->{$context.'.'.$tool}) { - $newaccesstext->{$tool} = &mt("availability set to 'on'"); + $newaccesstext->{$tool} = &mt("availability set to 'on'"); } else { - $newaccesstext->{$tool} = &mt("availability set to 'off'"); + $newaccesstext->{$tool} = &mt("availability set to 'off'"); } } } @@ -3344,16 +3242,13 @@ sub custom_role_editor { my ($jsback,$elements) = &crumb_utilities(); my $button_code = "\n"; my $head_script = "\n"; - $head_script .= ''."\n"; + $head_script .= "\n".$jsback."\n".''."\n"; $r->print(&Apache::loncommon::start_page('Custom Role Editor',$head_script)); &Apache::lonhtmlcommon::add_breadcrumb ({href=>"javascript:backPage(document.form1,'pickrole','')", @@ -3483,7 +3378,7 @@ sub make_script_template { sub make_button_code { my ($role) = @_; my $label = &Apache::lonnet::plaintext($role); - my $button_code = ''; + my $button_code = ''; return ($button_code); } # ---------------------------------------------------------- Call to definerole @@ -3496,11 +3391,7 @@ sub set_custom_role { return; } my ($jsback,$elements) = &crumb_utilities(); - my $jscript = ''; + my $jscript = ''; $r->print(&Apache::loncommon::start_page('Save Custom Role'),$jscript); &Apache::lonhtmlcommon::add_breadcrumb @@ -3872,11 +3763,7 @@ sub header { sub add_script { my ($js) = @_; - return ''."\n"; + return ''; } sub verify_user_display { @@ -3899,121 +3786,167 @@ END sub print_main_menu { my ($permission,$context) = @_; my %links = ( - domain => { - upload => 'Upload a File of Users', - singleuser => 'Add/Modify a Single User', - listusers => 'Manage Multiple Users', - }, - author => { - upload => 'Upload a File of Co-authors', - singleuser => 'Add/Modify a Single Co-author', - listusers => 'Display Co-authors and Manage Multiple Users', - }, - course => { - upload => 'Upload a File of Course Users', - singleuser => 'Add/Modify a Single Course User', - listusers => 'Display Class Lists and Manage Multiple Users', - }, + domain => { + upload => 'Upload a File of Users', + singleuser => 'Add/Modify a User', + listusers => 'Manage Users', + }, + author => { + upload => 'Upload a File of Co-authors', + singleuser => 'Add/Modify a Co-author', + listusers => 'Manage Co-authors', + }, + course => { + upload => 'Upload a File of Course Users', + singleuser => 'Add/Modify a Course User', + listusers => 'Manage Course Users', + }, ); + my @menu = ( {categorytitle => 'Single Users', + items => + [ + { + linktext => $links{$context}{'singleuser'}, + icon => 'edit-redo.png', + #help => 'Course_Change_Privileges', + url => '/adm/createuser?action=singleuser', + permission => $permission->{'cusr'}, + linktitle => 'Add a user with a certain role to this course.', + }, + ]}, - my @menu = - ( - { text => $links{$context}{'upload'}, - help => 'Course_Create_Class_List', - action => 'upload', - permission => $permission->{'cusr'}, + {categorytitle => 'Multiple Users', + items => + [ + { + linktext => $links{$context}{'upload'}, + icon => 'sctr.png', + #help => 'Course_Create_Class_List', + url => '/adm/createuser?action=upload', + permission => $permission->{'cusr'}, + linktitle => 'Upload a CSV or a text file containing users.', }, - { text => $links{$context}{'singleuser'}, - help => 'Course_Change_Privileges', - action => 'singleuser', - permission => $permission->{'cusr'}, + { + linktext => $links{$context}{'listusers'}, + icon => 'edit-find.png', + #help => 'Course_View_Class_List', + url => '/adm/createuser?action=listusers', + permission => ($permission->{'view'} || $permission->{'cusr'}), + linktitle => 'Show and manage users of this course.', + }, + + ]}, + + {categorytitle => 'Administration', + items => [ ]}, + ); + + if ($context eq 'domain'){ + + push(@{ $menu[2]->{items} }, #Category: Administration + { + linktext => 'Custom Roles', + icon => 'emblem-photos.png', + #help => 'Course_Editing_Custom_Roles', + url => '/adm/createuser?action=custom', + permission => $permission->{'custom'}, + linktitle => 'Configure a custom role.', }, - { text => $links{$context}{'listusers'}, - help => 'Course_View_Class_List', - action => 'listusers', - permission => ($permission->{'view'} || $permission->{'cusr'}), - }, ); - if ($context eq 'domain' || $context eq 'course') { - my $customlink = { text => 'Edit Custom Roles', - help => 'Course_Editing_Custom_Roles', - action => 'custom', - permission => $permission->{'custom'}, - }; - push(@menu,$customlink); - } - if ($context eq 'course') { + + }elsif ($context eq 'course'){ my ($cnum,$cdom) = &Apache::lonuserutils::get_course_identity(); - my @courselinks = - ( - { text => 'Enroll a Single Student', - help => 'Course_Add_Student', - action => 'singlestudent', - permission => $permission->{'cusr'}, - }, - { text => 'Drop Students', - help => 'Course_Drop_Student', - action => 'drop', - permission => $permission->{'cusr'}, - }); - if (!exists($permission->{'cusr_section'})) { - push(@courselinks, - { text => 'Automated Enrollment Manager', - help => 'Course_Automated_Enrollment', + + push(@{ $menu[0]->{items} }, #Category: Single Users + { + linktext => 'Add/Modify a Student', + #help => 'Course_Add_Student', + icon => 'list-add.png', + url => '/adm/createuser?action=singlestudent', + permission => $permission->{'cusr'}, + linktitle => 'Add a user with the role student to this course.', + }, + ); + + push(@{ $menu[1]->{items} }, #Category: Multiple Users + { + linktext => 'Drop Students', + icon => 'edit-undo.png', + #help => 'Course_Drop_Student', + url => '/adm/createuser?action=drop', + permission => $permission->{'cusr'}, + linktitle =>'Remove a student from this course.', + }, + ); + push(@{ $menu[2]->{items} }, #Category: Administration + { + linktext => 'Custom Roles', + icon => 'emblem-photos.png', + #help => 'Course_Editing_Custom_Roles', + url => '/adm/createuser?action=custom', + permission => $permission->{'custom'}, + linktitle => 'Configure a custom role.', + }, + { + linktext => 'Course Groups', + icon => 'conf.png', + #help => 'Course_Manage_Group', + url => '/adm/coursegroups?refpage=cusr', + permission => $permission->{'grp_manage'}, + linktitle => 'Manage course groups.', + }, + { + linktext => 'Change Logs', + icon => 'document-properties.png', + #help => 'Course_User_Logs', + url => '/adm/createuser?action=changelogs', + permission => $permission->{'cusr'}, + linktitle => 'View change log.', + }, + ); + if ($env{'course.'.$env{'request.course.id'}.'.internal.selfenroll_approval'}) { + push(@{ $menu[2]->{items} }, + { + linktext => 'Enrollment Requests', + icon => 'selfenrl-queue.png', + #help => 'Course_Approve_Selfenroll', + url => '/adm/createuser?action=selfenrollqueue', + permission => $permission->{'cusr'}, + linktitle =>'Approve or reject enrollment requests.', + }, + ); + } + + if (!exists($permission->{'cusr_section'})){ + + push(@{ $menu[2]->{items} }, + { + linktext => 'Automated Enrollment', + icon => 'roles.png', + #help => 'Course_Automated_Enrollment', permission => (&Apache::lonnet::auto_run($cnum,$cdom) - && $permission->{'cusr'}), + && $permission->{'cusr'}), url => '/adm/populate', - }, - { text => 'Configure User Self-enrollment', - help => 'Course_Self_Enrollment', - action => 'selfenroll', + linktitle => 'Automated enrollment manager.', + }, + { + linktext => 'User Self-Enrollment', + icon => 'cstr.png', + #help => 'Course_Self_Enrollment', + url => '/adm/createuser?action=selfenroll', permission => $permission->{'cusr'}, - }); + linktitle => 'Configure user self enrollment.', + }, + ); + } - if ($env{'course.'.$env{'request.course.id'}.'.internal.selfenroll_approval'}) { - push(@courselinks, - { text => 'Enrollment Requests', - help => 'Course_Approve_Selfenroll', - action => 'selfenrollqueue', - permission => $permission->{'cusr'}, - }); - } - push(@courselinks, - { text => 'Manage Course Groups', - help => 'Course_Manage_Group', - permission => $permission->{'grp_manage'}, - url => '/adm/coursegroups?refpage=cusr', - }, - { text => 'View Change Logs', - help => 'Course_User_Logs', - action => 'changelogs', - permission => $permission->{'cusr'}, - },); + }; +return Apache::lonhtmlcommon::generate_menu(@menu); # { text => 'View Log-in History', # help => 'Course_User_Logins', # action => 'logins', # permission => $permission->{'cusr'}, # }); - push(@menu,@courselinks); - } - my $menu_html = ''; - foreach my $menu_item (@menu) { - next if (! $menu_item->{'permission'}); - $menu_html.='

'; - if (exists($menu_item->{'help'})) { - $menu_html.= - &Apache::loncommon::help_open_topic($menu_item->{'help'}); - } - $menu_html.=''; - if (exists($menu_item->{'url'})) { - $menu_html.=qq{}; - } else { - $menu_html.= - qq{}; } - $menu_html.= &mt($menu_item->{'text'}).''; - $menu_html.='

'; - } - return $menu_html; } sub restore_prev_selections { @@ -4210,9 +4143,7 @@ ENDSCRIPT my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'}; my $output = ''."\n". '

'.$lt->{'selfenroll'}.'

'."\n"; my ($visible,$cansetvis,$vismsgs,$visactions) = &visible_in_cat($cdom,$cnum); @@ -4241,9 +4172,7 @@ ENDSCRIPT if (ref($lt) eq 'HASH') { $title = $lt->{$item}; } - $output .= - &Apache::lonhtmlcommon::row_title($title, - 'LC_selfenroll_pick_box_title','LC_oddrow_value')."\n"; + $output .= &Apache::lonhtmlcommon::row_title($title); if ($item eq 'types') { my $curr_types = $env{'course.'.$env{'request.course.id'}.'.internal.selfenroll_types'}; my $showdomdesc = 1; @@ -5104,7 +5033,6 @@ sub print_userchangelogs_display { $r->print(''); $r->print(<<"ENDSCRIPT"); ENDSCRIPT } } else { - $r->print('

'. - &mt('There are no records to display'). - '

'); + $r->print(&mt('There are no records to display')); } $r->print(''. ''); @@ -5134,7 +5059,7 @@ sub role_display_filter { my $context = 'course'; my $nolink = 1; my $output = ''; @@ -5175,7 +5100,7 @@ sub role_display_filter { foreach my $chgtype ('any','auto','updatenow','createcourse','course','domain','selfenroll') { my $selstr = ''; if ($curr->{'chgcontext'} eq $chgtype) { - $selstr = ' selected="selected"'; + $output .= $selstr = ' selected="selected"'; } if (($chgtype eq 'auto') || ($chgtype eq 'updatenow')) { next if (!&Apache::lonnet::auto_run($cnum,$cdom)); @@ -5817,7 +5742,7 @@ sub course_level_dc { ''. &Apache::loncommon::end_data_table_header_row(); my $otheritems = &Apache::loncommon::start_data_table_row()."\n". - ''."\n". + ''."\n". '
'. - ''.&mt('Changes/page:').'
'. + ''.&mt('Changes/page:').'
'. &Apache::lonmeta::selectbox('show',$curr->{'show'},undef, (&mt('all'),5,10,20,50,100,1000,10000)). '
  '.$courseform.''.$lt{'rol'}.''.$lt{'grs'}.''.$lt{'sta'}.''.$lt{'end'}.'