's C<&allowed> function. When a user first logs in, their role is the "common" role, which means that they have the sum of all of their privileges. During a session it might become necessary to choose a particular role, which as a consequence also limits the user to only the privileges in that particular role.
+
+=head1 INTRODUCTION
+
+This module enables a user to select what role he wishes to
+operate under (instructor, student, teaching assistant, course
+coordinator, etc). These roles are pre-established by the actions
+of upper-level users.
+
+This is part of the LearningOnline Network with CAPA project
+described at http://www.lon-capa.org.
+
+=head1 HANDLER SUBROUTINE
+
+This routine is called by Apache and mod_perl.
+
+=over 4
+
+=item *
+
+Roles Initialization (yes/no)
+
+=item *
+
+Get Error Message from Environment
+
+=item *
+
+Who is this?
+
+=item *
+
+Generate Page Output
+
+=item *
+
+Choice or no choice
+
+=item *
+
+Table
+
+=item *
+
+Privileges
+
+=back
+
+=cut
+
+
package Apache::lonroles;
use strict;
@@ -272,7 +369,7 @@ $swinfo
$end_page
@@ -662,9 +759,9 @@ ENDHEADER
$twhere=$env{'course.'.$tcourseid.'.description'};
$sortkey=$role."\0".$tdom."\0".$twhere."\0".$envkey;
unless ($twhere eq &mt('Currently not available')) {
- $twhere.=' '.
+ $twhere.=' '.
&Apache::loncommon::syllabuswrapper(&mt('Syllabus'),$trest,$tdom,$tfont).
- '';
+ '';
}
} else {
my %newhash=&Apache::lonnet::coursedescription($tcourseid);
@@ -672,9 +769,9 @@ ENDHEADER
$sortkey=$role."\0".$tdom."\0".$newhash{'description'}.
"\0".$envkey;
$twhere=$newhash{'description'}.
- ' '.
+ ' '.
&Apache::loncommon::syllabuswrapper(&mt('Syllabus'),$trest,$tdom,$tfont).
- '';
+ '';
$ttype = $newhash{'type'};
$trole = &Apache::lonnet::plaintext($role,$ttype);
} else {
@@ -742,8 +839,8 @@ ENDHEADER
} else {
$r->print('');
}
- $r->print(' | '.&mt('No role specified').
- ' | '.$tremark.
+ $r->print(' | | '.&mt('No role specified').
+ ' | '.$tremark.
' |
'."\n");
$r->print('');
@@ -774,8 +871,8 @@ ENDHEADER
}
}
if ($output) {
- $r->print("".
- &mt('Recent Roles')." |
");
+ $r->print("".
+ &mt('Recent Roles')." |
");
$r->print($output);
$doheaders ++;
}
@@ -805,9 +902,9 @@ ENDHEADER
$r->print(' | ');
}
}
- $r->print(''.&mt('No role specified').
- ' | '.$tremark.
- ' | '."\n");
+ $r->print(''.&mt('No role specified').
+ ' | '.$tremark.
+ ' | '."\n");
}
$r->print('');
unless ($nochoose) {
@@ -885,8 +982,8 @@ sub print_rolerows {
if ($output) {
if ($doheaders > 0) {
$r->print("".
- "".
- &mt($type)." |
");
+ "".
+ &mt($type)." | ");
}
$r->print($output);
}
@@ -1042,14 +1139,14 @@ sub build_roletext {
$tremark.=&Apache::lonannounce::showday(time,1,
&Apache::lonannounce::readcalendar($tdom.'_'.$trest));
}
- $roletext.=''.$trole.
- ' | '.$twhere.
- ' | '.$tpstart.
- ' | '.$tpend.
- ' | ';
+ $roletext.=''.$trole.
+ ' | '.$twhere.
+ ' | '.$tpstart.
+ ' | '.$tpend.
+ ' | ';
if (!$is_dc) {
- $roletext.=''.$tremark.
- ' |
|
'."\n";
+ $roletext.=''.$tremark.
+ ' |
|
'."\n";
}
return $roletext;
}
@@ -1271,9 +1368,9 @@ sub display_cc_role {
my %newhash=&Apache::lonnet::coursedescription($tcourseid);
if (%newhash) {
$twhere=$newhash{'description'}.
- ' '.
+ ' '.
&Apache::loncommon::syllabuswrapper(&mt('Syllabus'),$2,$1,$tfont).
- '';
+ '';
$ttype = $newhash{'type'};
} else {
$twhere=&mt('Currently not available');