--- loncom/interface/loncommon.pm 2012/04/04 23:06:52 1.1064 +++ loncom/interface/loncommon.pm 2012/06/09 00:42:31 1.1075.2.10 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # a pile of common routines # -# $Id: loncommon.pm,v 1.1064 2012/04/04 23:06:52 raeburn Exp $ +# $Id: loncommon.pm,v 1.1075.2.10 2012/06/09 00:42:31 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -1374,7 +1374,7 @@ function helpMenu(target) { return; } function writeHelp(caller) { - caller.document.writeln('$start_page $end_page') + caller.document.writeln('$start_page\\n\\n\\n$end_page') caller.document.close() caller.focus() } @@ -1981,19 +1981,112 @@ sub select_form { # For display filters sub display_filter { + my ($context) = @_; if (!$env{'form.show'}) { $env{'form.show'}=10; } if (!$env{'form.displayfilter'}) { $env{'form.displayfilter'}='currentfolder'; } - return ''.&mt('Records [_1]', + my $phraseinput = 'hidden'; + my $includeinput = 'hidden'; + my ($checked,$includetypestext); + if ($env{'form.displayfilter'} eq 'containing') { + $phraseinput = 'text'; + if ($context eq 'parmslog') { + $includeinput = 'checkbox'; + if ($env{'form.includetypes'}) { + $checked = ' checked="checked"'; + } + $includetypestext = &mt('Include parameter types'); + } + } else { + $includetypestext = ' '; + } + my ($additional,$secondid,$thirdid); + if ($context eq 'parmslog') { + $additional = + ''. + ' '.$includetypestext.''. + ''; + $secondid = 'includetypes'; + $thirdid = 'includetypestext'; + } + my $onchange = "javascript:toggleHistoryOptions(this,'containingphrase','$context', + '$secondid','$thirdid')"; + return ''.&mt('Records: [_1]', &Apache::lonmeta::selectbox('show',$env{'form.show'},undef, (&mt('all'),10,20,50,100,1000,10000))). ' '. - &mt('Filter [_1]', + &mt('Filter: [_1]', &select_form($env{'form.displayfilter'}, 'displayfilter', {'currentfolder' => 'Current folder/page', 'containing' => 'Containing phrase', - 'none' => 'None'})). - ''; + 'none' => 'None'},$onchange)).' '. + ''.$additional; +} + +sub display_filter_js { + my $includetext = &mt('Include parameter types'); + return <<"ENDJS"; + +function toggleHistoryOptions(setter,firstid,context,secondid,thirdid) { + var firstType = 'hidden'; + if (setter.options[setter.selectedIndex].value == 'containing') { + firstType = 'text'; + } + firstObject = document.getElementById(firstid); + if (typeof(firstObject) == 'object') { + if (firstObject.type != firstType) { + changeInputType(firstObject,firstType); + } + } + if (context == 'parmslog') { + var secondType = 'hidden'; + if (firstType == 'text') { + secondType = 'checkbox'; + } + secondObject = document.getElementById(secondid); + if (typeof(secondObject) == 'object') { + if (secondObject.type != secondType) { + changeInputType(secondObject,secondType); + } + } + var textItem = document.getElementById(thirdid); + var currtext = textItem.innerHTML; + var newtext; + if (firstType == 'text') { + newtext = '$includetext'; + } else { + newtext = ' '; + } + if (currtext != newtext) { + textItem.innerHTML = newtext; + } + } + return; +} + +function changeInputType(oldObject,newType) { + var newObject = document.createElement('input'); + newObject.type = newType; + if (oldObject.size) { + newObject.size = oldObject.size; + } + if (oldObject.value) { + newObject.value = oldObject.value; + } + if (oldObject.name) { + newObject.name = oldObject.name; + } + if (oldObject.id) { + newObject.id = oldObject.id; + } + oldObject.parentNode.replaceChild(newObject,oldObject); + return; +} + +ENDJS } sub gradeleveldescription { @@ -3129,12 +3222,12 @@ sub noteswrapper { # ------------------------------------------------------------- Aboutme Wrapper sub aboutmewrapper { - my ($link,$username,$domain,$target)=@_; + my ($link,$username,$domain,$target,$class)=@_; if (!defined($username) && !defined($domain)) { return; } return ''.$link.''; + ($target?' target="'.$target.'"':'').($class?' class="'.$class.'"':'').' title="'.&mt("View this user's personal information page").'">'.$link.''; } # ------------------------------------------------------------ Syllabus Wrapper @@ -3990,9 +4083,7 @@ sub findallcourses { $udom = $env{'user.domain'}; } if (($uname ne $env{'user.name'}) || ($udom ne $env{'user.domain'})) { - my $extra = &Apache::lonnet::freeze_escape({'skipcheck' => 1}); - my %roleshash = &Apache::lonnet::dump('roles',$udom,$uname,'.',undef, - $extra); + my %roleshash = &Apache::lonnet::dump('roles',$udom,$uname); if (!%roles) { %roles = ( cc => 1, @@ -4937,7 +5028,8 @@ sub bodytag { if ($public) { undef($role); } else { - $name = &aboutmewrapper($name,$env{'user.name'},$env{'user.domain'}); + $name = &aboutmewrapper($name,$env{'user.name'},$env{'user.domain'}, + undef,'LC_menubuttons_link'); } my $titleinfo = ''.$title.''; @@ -4968,11 +5060,13 @@ sub bodytag { if ($env{'request.noversionuri'} =~ m{^/res/adm/pages/}) { - if ($dc_info) { - $dc_info = qq|$dc_info|; - } - $bodytag .= qq|$name $role - $realm $dc_info|; + unless ($env{'request.noversionuri'} =~ m{/res/adm/pages/bookmarkmenu/}) { + if ($dc_info) { + $dc_info = qq|$dc_info|; + } + $bodytag .= qq|$name $role + $realm $dc_info|; + } return $bodytag; } @@ -5014,7 +5108,7 @@ sub bodytag { sub dc_courseid_toggle { my ($dc_info) = @_; return ' '. - ''. + ''. &mt('(More ...)').''. ''.$dc_info.''; } @@ -5071,7 +5165,10 @@ i.e., $env{'internal.head.redirect'} exi sub endbodytag { my ($args) = @_; - my $endbodytag='