--- loncom/interface/lonpreferences.pm 2008/05/12 23:47:43 1.118
+++ loncom/interface/lonpreferences.pm 2008/12/12 19:57:58 1.125.2.1
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Preferences
#
-# $Id: lonpreferences.pm,v 1.118 2008/05/12 23:47:43 www Exp $
+# $Id: lonpreferences.pm,v 1.125.2.1 2008/12/12 19:57:58 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -108,9 +108,14 @@ sub wysiwygchanger {
}
my $switchoff=&mt('Disable WYSIWYG editor');
my $switchon=&mt('Enable WYSIWYG editor');
+ my $warning='';
+ if ($env{'user.adv'}) {
+ $warning.="
".&mt("The WYSIWYG editor only supports simple HTML and is in many cases unsuited for advanced authoring. In a number of cases, it may destroy advanced authoring involving LaTeX and script function calls.")."
";
+ }
$r->print(<
+$warning
@@ -189,35 +194,45 @@ sub texenginechanger {
my %userenv = &Apache::lonnet::get('environment',['texengine']);
my $texengine=$userenv{'texengine'};
- my $pref=&mt('Preferred method to display Math');
my %mathchoices=('' => 'Default',
- 'tth' => 'TeX to HTML',
+ 'tth' => 'tth (TeX to HTML)',
#'ttm' => 'TeX to MathML',
'jsMath' => 'jsMath',
- 'mimetex' => 'Convert to Images'
+ 'mimetex' => 'mimetex (Convert to Images)'
);
my $selectionbox=&Apache::loncommon::select_form($texengine,'texengine',
%mathchoices);
my $jsMath_start=&Apache::lontexconvert::jsMath_header();
- my $change=&mt('Change');
- $r->print(<
+ my %lt=&Apache::lonlocal::texthash(
+ 'headline' => 'Change Math Preferences',
+ 'preftxt' => 'Preferred method to display Math',
+ 'change' => 'Change',
+ 'exmpl' => 'Examples',
+ 'jsmath' => 'jsMath:',
+ 'tth' => 'tth (TeX to HTML):',
+ 'mimetex' => 'mimetex (Convert to Images):',
+ );
+ $r->print(<$lt{'headline'}
-Examples:
-
TeX to HTML
-
+
+$lt{'preftxt'}:
+$selectionbox
-
jsMath
+
+
+
+$lt{'exmpl'}
+
+
$lt{'jsmath'}
+
$jsMath_start
-
+
+
+
$lt{'mimetex'}
+
+
-
Convert to Images
-
-
+
+
$lt{'tth'}
+
+
ENDLSCREEN
if ($env{'environment.texengine'} ne 'jsMath') {
@@ -609,6 +629,44 @@ sub verify_and_change_clicker {
$r->print(&mt('Registering clickers: [_1]',$newclickers));
}
+################################################################
+# Domcoord Access Subroutines #
+################################################################
+
+sub domcoordchanger {
+ my $r = shift;
+ my $user = $env{'user.name'};
+ my $domain = $env{'user.domain'};
+ my %userenv = &Apache::lonnet::get
+ ('environment',['domcoord.author']);
+ my $constchecked='';
+ if ($userenv{'domcoord.author'} eq 'blocked') {
+ $constchecked='checked="checked"';
+ }
+ my $text=&mt('By default, the Domain Coordinator can enter your construction space.');
+ my $construction=&mt('Block access to construction space');
+ my $change=&mt('Change');
+ $r->print(<
+
+$text
+
+
+
+ENDSCREEN
+}
+
+sub verify_and_change_domcoord {
+ my $r = shift;
+ my $user = $env{'user.name'};
+ my $domain = $env{'user.domain'};
+ my %domcoord=('domcoord.author' => '');
+ if ($env{'form.construction'}) { $domcoord{'domcoord.author'}='blocked'; }
+ &Apache::lonnet::put('environment',\%domcoord);
+ &Apache::lonnet::appenv({'environment.domcoord.author' => $domcoord{'domcoord.author'}});
+ $r->print(&mt('Registering Domain Coordinator access restrictions.'));
+}
+
#################################################################
## Lock Subroutines #
#################################################################
@@ -1724,13 +1782,14 @@ sub handler {
text => 'Change Message Forwarding/Notification'},
printmenu => 'no',
subroutine => \&verify_and_change_msgforward }));
- my $aboutmeaction=
- '/adm/'.$env{'user.domain'}.'/'.$env{'user.name'}.'/aboutme';
- push (@Options,{ action => 'none',
- linktext =>
- q{Edit the 'About Me' Personal Information Screen},
- help => 'Prefs_About_Me',
- href => $aboutmeaction});
+ if (&Apache::lonnet::usertools_access($user,$domain,'aboutme')) {
+ my $aboutmeaction = '/adm/'.$domain.'/'.$user.'/aboutme';
+ push (@Options,{ action => 'none',
+ linktext =>
+ q{Edit the 'About Me' Personal Information Screen},
+ help => 'Prefs_About_Me',
+ href => $aboutmeaction});
+ }
push (@Options,({ action => 'changecolors',
linktext => 'Change Color Scheme',
href => '/adm/preferences',
@@ -1871,6 +1930,24 @@ sub handler {
text => 'Register Clicker'},
printmenu => 'yes',
}));
+ my %author_roles = &Apache::lonnet::get_my_roles($user,$domain,'userroles','',['au']);
+ if (keys(%author_roles) > 0) {
+ push (@Options,({ action => 'changedomcoord',
+ linktext => 'Restrict Domain Coordinator Access',
+ href => '/adm/preferences',
+ subroutine => \&domcoordchanger,
+ breadcrumb =>
+ { href => '/adm/preferences?action=changedomcoord',
+ text => 'Restrict Domain Coordinator Access'},
+ },
+ { action => 'verify_and_change_domcoord',
+ subroutine => \&verify_and_change_domcoord,
+ breadcrumb =>
+ { href => '/adm/preferences?action=changedomcoord',
+ text => 'Restrict Domain Coordinator Access'},
+ printmenu => 'yes',
+ }));
+ }
push (@Options,({ action => 'lockwarning',
subroutine => \&lockwarning,
@@ -1906,7 +1983,7 @@ sub handler {
}));
}
- if ($env{'user.name'} =~ /^(albertel|fox|foxr|koretemey|korte|hallmat3|turtle|raeburn)$/) {
+ if ($env{'user.name'} =~ /^(albertel|fox|foxr|kortemey|korte|raeburn)$/) {
push (@Options,({ action => 'debugtoggle',
printmenu => 'yes',
subroutine => \&toggle_debug,