--- loncom/interface/loncommon.pm 2007/10/12 00:16:40 1.564.2.11 +++ loncom/interface/loncommon.pm 2007/08/31 03:21:27 1.576 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # a pile of common routines # -# $Id: loncommon.pm,v 1.564.2.11 2007/10/12 00:16:40 albertel Exp $ +# $Id: loncommon.pm,v 1.576 2007/08/31 03:21:27 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -721,24 +721,20 @@ sub help_open_topic { my $template = ""; my $link; - + $topic=~s/\W/\_/g; - if (!$stayOnPage) - { + if (!$stayOnPage) { $link = "javascript:void(open('/adm/help/${filename}.hlp', 'Help_for_$topic', 'menubar=0,toolbar=1,scrollbars=1,width=$width,height=$height,resizable=yes'))"; - } - else - { + } else { $link = "/adm/help/${filename}.hlp"; } # Add the text - if ($text ne "") - { + if ($text ne "") { $template .= - "". - "
$text"; + "". + "
$text"; } # Add the graphic @@ -805,14 +801,10 @@ sub help_open_menu { my ($topic,$component_help,$faq,$bug,$stayOnPage,$width,$height,$text) = @_; $stayOnPage = 0 if (not defined $stayOnPage); - # formerly only used pop-up help (stayOnPage = 0) + # only use pop-up help (stayOnPage == 0) # if environment.remote is on (using remote control UI) - # if ($env{'browser.interface'} eq 'textual' || - # $env{'environment.remote'} eq 'off' ) { - # $stayOnPage=1; - #} - # Now making pop-up help the default even with remote control - if ($env{'browser.interface'} eq 'textual') { + if ($env{'browser.interface'} eq 'textual' || + $env{'environment.remote'} eq 'off' ) { $stayOnPage=1; } my $output; @@ -834,15 +826,13 @@ sub help_open_menu { sub top_nav_help { my ($text) = @_; - $text = &mt($text); - - my $stayOnPage = + my $stay_on_page = ($env{'browser.interface'} eq 'textual' || $env{'environment.remote'} eq 'off' ); - my $link= ($stayOnPage) ? "javascript:helpMenu('display')" + my $link = ($stay_on_page) ? "javascript:helpMenu('display')" : "javascript:helpMenu('open')"; - my $banner_link = &update_help_link(undef,undef,undef,undef,$stayOnPage); + my $banner_link = &update_help_link(undef,undef,undef,undef,$stay_on_page); my $title = &mt('Get help'); @@ -870,7 +860,7 @@ sub help_menu_js { 'js_ready' => 1, 'add_entries' => { 'border' => '0', - 'rows' => "110,*",},}); + 'rows' => "105,*",},}); my $end_page = &Apache::loncommon::end_page({'frameset' => 1, 'js_ready' => 1,}); @@ -1084,6 +1074,63 @@ sub changable_area { =pod +=item * resize_textarea_js + +emits the needed javascript to resize a textarea to be as big as possible + +creates a function resize_textrea that takes two IDs first should be +the id of the element to resize, second should be the id of a div that +surrounds everything that comes after the textarea, this routine needs +to be attached to the for the onload and onresize events. + + +=cut + +sub resize_textarea_js { + return <<"RESIZE"; + +RESIZE + +} + +=pod + =back =head1 Excel and CSV file utility routines @@ -4283,7 +4330,9 @@ table#LC_helpmenu_links a:hover { border: 1px solid #8888FF; background: #CCCCFF; } + table.LC_pick_box { + width: 100%; border-collapse: separate; background: white; border: 1px solid black; @@ -4296,14 +4345,6 @@ table.LC_pick_box td.LC_pick_box_title { width: 184px; padding: 8px; } -table.LC_pick_box td.LC_pick_box_value { - text-align: left; - padding: 8px; -} -table.LC_pick_box td.LC_pick_box_select { - text-align: left; - padding: 8px; -} table.LC_pick_box td.LC_pick_box_separator { padding: 0px; height: 1px; @@ -4312,48 +4353,7 @@ table.LC_pick_box td.LC_pick_box_separat table.LC_pick_box td.LC_pick_box_submit { text-align: right; } -table.LC_pick_box td.LC_evenrow_value { - text-align: left; - padding: 8px; - background-color: $data_table_light; -} -table.LC_pick_box td.LC_oddrow_value { - text-align: left; - padding: 8px; - background-color: $data_table_light; -} -table.LC_helpform_receipt { - width: 620px; - border-collapse: separate; - background: white; - border: 1px solid black; - border-spacing: 1px; -} -table.LC_helpform_receipt td.LC_pick_box_title { - background: $tabbg; - font-weight: bold; - text-align: right; - width: 184px; - padding: 8px; -} -table.LC_helpform_receipt td.LC_evenrow_value { - text-align: left; - padding: 8px; - background-color: $data_table_light; -} -table.LC_helpform_receipt td.LC_oddrow_value { - text-align: left; - padding: 8px; - background-color: $data_table_light; -} -table.LC_helpform_receipt td.LC_pick_box_separator { - padding: 0px; - height: 1px; - background: black; -} -span.LC_helpform_receipt_cat { - font-weight: bold; -} + table.LC_group_priv_box { background: white; border: 1px solid black; @@ -4685,9 +4685,7 @@ Inputs: none sub xml_begin { my $output=''; - if ($env{'internal.start_page'}==1) { - &Apache::lonhtmlcommon::init_htmlareafields(); - } + &Apache::lonhtmlcommon::init_htmlareafields(); if ($env{'browser.mathml'}) { $output='' @@ -5606,7 +5604,7 @@ sub user_picker { my $currdom = $dom; my %curr_selected = ( srchin => 'dom', - srchby => 'lastname', + srchby => 'uname', ); my $srchterm; if (ref($srch) eq 'HASH') { @@ -5668,7 +5666,7 @@ sub user_picker { $srchinsel .= "\n \n"; my $srchbysel = ' \n"; my $srchtypesel = ' &"').'" onclick="javascript:setSearch(\'1\','.$caller.');" />

'; + } else { + $new_user_create = &newuser_radio($caller); } + } else { + $new_user_create = &newuser_radio($caller); } $newuserscript = <<"ENDSCRIPT"; @@ -5825,6 +5827,13 @@ END_BLOCK return $output; } +sub newuser_radio { + my ($caller) = @_; + return ''.&mt('Make new user if no match found: ').''.&mt('Yes').'  '.&mt('No').'
'; +} + + + =pod =back @@ -6985,7 +6994,7 @@ sub commit_studentrole { ############################################################ sub check_clone { - my ($args,$linefeed) = @_; + my ($args) = @_; my $cloneid='/'.$args->{'clonedomain'}.'/'.$args->{'clonecourse'}; my ($clonecrsudom,$clonecrsunum)= &LONCAPA::split_courseid($cloneid); my $clonehome=&Apache::lonnet::homeserver($clonecrsunum,$clonecrsudom); @@ -6993,7 +7002,8 @@ sub check_clone { my $can_clone = 0; if ($clonehome eq 'no_host') { - $clonemsg = &mt('No new course created.').$linefeed.&mt('A new course could not be cloned from the specified original - [_1] - because it is a non-existent course.',$args->{'clonecourse'}.':'.$args->{'clonedomain'}); + $clonemsg = &mt('Attempting to clone non-existing [_1]', + $args->{'crstype'}); } else { my %clonedesc = &Apache::lonnet::coursedescription($cloneid,{'one_time' => 1}); if ($env{'request.role.domain'} eq $args->{'clonedomain'}) { @@ -7002,24 +7012,18 @@ sub check_clone { my %clonehash = &Apache::lonnet::get('environment',['cloners'], $args->{'clonedomain'},$args->{'clonecourse'}); my @cloners = split(/,/,$clonehash{'cloners'}); - if (grep(/^\*$/,@cloners)) { - $can_clone = 1; - } elsif (grep(/^\*\:\Q$args->{'ccdomain'}\E$/,@cloners)) { - $can_clone = 1; - } else { - my %roleshash = - &Apache::lonnet::get_my_roles($args->{'ccuname'}, - $args->{'ccdomain'}, - 'userroles',['active'],['cc'], - [$args->{'clonedomain'}]); - if (($roleshash{$args->{'clonecourse'}.':'.$args->{'clonedomain'}.':cc'}) || (grep(/^\Q$args->{'ccuname'}\E:\Q$args->{'ccdomain'}\E$/,@cloners))) { - $can_clone = 1; - } else { - $clonemsg = &mt('No new course created.').$linefeed.&mt('The new course could not be cloned from the existing course because the new course owner ([_1]) does not have cloning rights in the existing course ([_2]).',$args->{'ccuname'}.':'.$args->{'ccdomain'},$clonedesc{'description'}); - } + my %roleshash = + &Apache::lonnet::get_my_roles($args->{'ccuname'}, + $args->{'ccdomain'},'userroles',['active'],['cc'], + [$args->{'clonedomain'}]); + if (($roleshash{$args->{'clonecourse'}.':'.$args->{'clonedomain'}.':cc'}) || (grep(/^\Q$args->{'ccuname'}\E:\Q$args->{'ccdomain'}\E$/,@cloners))) { + $can_clone = 1; + } else { + $clonemsg = &mt('The new course was not cloned from an existing course because the new course owner ([_1]) does not have cloning rights in the existing course ([_2]).',$args->{'ccuname'}.':'.$args->{'ccdomain'},$clonedesc{'description'}); } - } + } } + return ($can_clone, $clonemsg, $cloneid, $clonehome); } @@ -7036,11 +7040,9 @@ sub construct_course { # my ($can_clone, $clonemsg, $cloneid, $clonehome); if (($args->{'clonecourse'}) && ($args->{'clonedomain'})) { - ($can_clone, $clonemsg, $cloneid, $clonehome) = &check_clone($args,$linefeed); + ($can_clone, $clonemsg, $cloneid, $clonehome) = &check_clone($args); if ($context ne 'auto') { - if ($clonemsg ne '') { - $clonemsg = ''.$clonemsg.''; - } + $clonemsg = ''.$clonemsg.''; } $outcome .= $clonemsg.$linefeed;