Diff for /loncom/interface/loncommon.pm between versions 1.885 and 1.896

version 1.885, 2009/08/15 00:25:43 version 1.896, 2009/10/12 08:01:08
Line 483  ENDAUTHORBRW Line 483  ENDAUTHORBRW
   
 sub coursebrowser_javascript {  sub coursebrowser_javascript {
     my ($domainfilter,$sec_element,$formname)=@_;      my ($domainfilter,$sec_element,$formname)=@_;
     my $crs_or_grp_alert = &mt('Please select the type of LON-CAPA entity - Course or Community - for which you wish to add/modify a user role');      my $crs_or_grp_alert = &mt('Please select the type of LON-CAPA entity - Course or Community - for which you wish to add/modify a user role.');
     my $id_functions = &javascript_index_functions();      my $id_functions = &javascript_index_functions();
     my $output = '      my $output = '
 <script type="text/javascript" language="JavaScript">  <script type="text/javascript" language="JavaScript">
Line 493  sub coursebrowser_javascript { Line 493  sub coursebrowser_javascript {
     $output .= <<"ENDSTDBRW";      $output .= <<"ENDSTDBRW";
     function opencrsbrowser(formname,uname,udom,desc,extra_element,multflag,crstype) {      function opencrsbrowser(formname,uname,udom,desc,extra_element,multflag,crstype) {
         var url = '/adm/pickcourse?';          var url = '/adm/pickcourse?';
           var formid = getFormIdByName(formname);
         var domainfilter = getDomainFromSelectbox(formname,udom);          var domainfilter = getDomainFromSelectbox(formname,udom);
         if (domainfilter != null) {          if (domainfilter != null) {
            if (domainfilter != '') {             if (domainfilter != '') {
Line 602  sub userbrowser_javascript { Line 603  sub userbrowser_javascript {
     my $id_functions = &javascript_index_functions();      my $id_functions = &javascript_index_functions();
     return <<"ENDUSERBRW";      return <<"ENDUSERBRW";
   
 function openuserbrowser(formname,uname,udom,ulast,ufirst,uemail,hideudom,crsdom) {  function openuserbrowser(formname,uname,udom,ulast,ufirst,uemail,hideudom,crsdom,caller) {
     var url = '/adm/pickuser?';      var url = '/adm/pickuser?';
     var userdom = getDomainFromSelectbox(formname,udom);      var userdom = getDomainFromSelectbox(formname,udom);
     if (userdom != null) {      if (userdom != null) {
Line 617  function openuserbrowser(formname,uname, Line 618  function openuserbrowser(formname,uname,
                                 '&uemailelement='+uemail+                                  '&uemailelement='+uemail+
                                 '&hideudomelement='+hideudom+                                  '&hideudomelement='+hideudom+
                                 '&coursedom='+crsdom;                                  '&coursedom='+crsdom;
       if ((caller != null) && (caller != undefined)) {
           url += '&caller='+caller;
       }
     var title = 'User_Browser';      var title = 'User_Browser';
     var options = 'scrollbars=1,resizable=1,menubar=0';      var options = 'scrollbars=1,resizable=1,menubar=0';
     options += ',width=700,height=600';      options += ',width=700,height=600';
Line 624  function openuserbrowser(formname,uname, Line 628  function openuserbrowser(formname,uname,
     stdeditbrowser.focus();      stdeditbrowser.focus();
 }  }
   
 function fix_domain (formname,udom,origdom) {  function fix_domain (formname,udom,origdom,uname) {
     var formid = getFormIdByName(formname);      var formid = getFormIdByName(formname);
     if (formid > -1) {      if (formid > -1) {
           var unameid = getIndexByName(formid,uname);
         var domid = getIndexByName(formid,udom);          var domid = getIndexByName(formid,udom);
         var hidedomid = getIndexByName(formid,origdom);          var hidedomid = getIndexByName(formid,origdom);
         if (hidedomid > -1) {          if (hidedomid > -1) {
             var fixeddom = document.forms[formid].elements[hidedomid].value;              var fixeddom = document.forms[formid].elements[hidedomid].value;
             if (domid > -1) {              var unameval = document.forms[formid].elements[unameid].value;
                 var slct = document.forms[formid].elements[domid];              if ((fixeddom != '') && (fixeddom != undefined) && (fixeddom != null) && (unameval != '') && (unameval != undefined) && (unameval != null)) {
                 if (slct.type == 'select-one') {                  if (domid > -1) {
                     var i;                      var slct = document.forms[formid].elements[domid];
                     for (i=0;i<slct.length;i++) {                      if (slct.type == 'select-one') {
                         if (slct.options[i].value==fixeddom) { slct.selectedIndex=i; }                          var i;
                           for (i=0;i<slct.length;i++) {
                               if (slct.options[i].value==fixeddom) { slct.selectedIndex=i; }
                           }
                       }
                       if (slct.type == 'hidden') {
                           slct.value = fixeddom;
                     }                      }
                 }  
                 if (slct.type == 'hidden') {  
                     slct.value = fixeddom;  
                 }                  }
             }              }
         }          }
Line 715  sub selectauthor_link { Line 723  sub selectauthor_link {
   
 sub selectuser_link {  sub selectuser_link {
     my ($form,$unameelem,$domelem,$lastelem,$firstelem,$emailelem,$hdomelem,      my ($form,$unameelem,$domelem,$lastelem,$firstelem,$emailelem,$hdomelem,
         $coursedom,$linktext) = @_;          $coursedom,$linktext,$caller) = @_;
     return '<a href="javascript:openuserbrowser('."'$form','$unameelem','$domelem',".      return '<a href="javascript:openuserbrowser('."'$form','$unameelem','$domelem',".
            "'$lastelem','$firstelem','$emailelem','$hdomelem','$coursedom'".             "'$lastelem','$firstelem','$emailelem','$hdomelem','$coursedom','$caller'".
            ');">'.$linktext.'</a>';             ');">'.$linktext.'</a>';
 }  }
   
Line 2947  sub messagewrapper { Line 2955  sub messagewrapper {
 sub noteswrapper {  sub noteswrapper {
     my ($link,$un,$do)=@_;      my ($link,$un,$do)=@_;
     return       return 
 "<a href='/adm/email?recordftf=retrieve&recname=$un&recdom=$do'>$link</a>";  "<a href='/adm/email?recordftf=retrieve&amp;recname=$un&amp;recdom=$do'>$link</a>";
 }  }
   
 # ------------------------------------------------------------- Aboutme Wrapper  # ------------------------------------------------------------- Aboutme Wrapper
Line 2957  sub aboutmewrapper { Line 2965  sub aboutmewrapper {
     if (!defined($username)  && !defined($domain)) {      if (!defined($username)  && !defined($domain)) {
         return;          return;
     }      }
     return '<a href="/adm/'.$domain.'/'.$username.'/aboutme"'.      return '<a href="/adm/'.$domain.'/'.$username.'/aboutme?forcestudent=1"'.
  ($target?' target="$target"':'').' title="'.&mt("View this user's personal information page").'">'.$link.'</a>';   ($target?' target="$target"':'').' title="'.&mt("View this user's personal information page").'">'.$link.'</a>';
 }  }
   
Line 2971  sub syllabuswrapper { Line 2979  sub syllabuswrapper {
 # -----------------------------------------------------------------------------  # -----------------------------------------------------------------------------
   
 sub track_student_link {  sub track_student_link {
     my ($linktext,$sname,$sdom,$target,$start) = @_;      my ($linktext,$sname,$sdom,$target,$start,$only_body) = @_;
     my $link ="/adm/trackstudent?";      my $link ="/adm/trackstudent?";
     my $title = 'View recent activity';      my $title = 'View recent activity';
     if (defined($sname) && $sname !~ /^\s*$/ &&      if (defined($sname) && $sname !~ /^\s*$/ &&
Line 2985  sub track_student_link { Line 2993  sub track_student_link {
         $target = '';          $target = '';
     }      }
     if ($start) { $link.='&amp;start='.$start; }      if ($start) { $link.='&amp;start='.$start; }
       if ($only_body) { $link .= '&amp;only_body=1'; }
     $title = &mt($title);      $title = &mt($title);
     $linktext = &mt($linktext);      $linktext = &mt($linktext);
     return qq{<a href="$link" title="$title" $target>$linktext</a>}.      return qq{<a href="$link" title="$title" $target>$linktext</a>}.
Line 3917  sub parse_block_record { Line 3926  sub parse_block_record {
 }  }
   
 sub blocking_status {  sub blocking_status {
   my $blocked;  
   my ($activity,$uname,$udom) = @_;    my ($activity,$uname,$udom) = @_;
   my %setters;    my %setters;
   
     # check for active blocking
   my ($startblock,$endblock)=&blockcheck(\%setters,$activity,$uname,$udom);    my ($startblock,$endblock)=&blockcheck(\%setters,$activity,$uname,$udom);
   if ($startblock && $endblock) {  
     $blocked = 1;  
   }  
   if(!wantarray) {  
     return $blocked;  
   }  
   my $output;  
   my $querystring;  
   $querystring = "?activity=$activity";  
   
       $output .= <<"END_MYBLOCK";    my $blocked = $startblock && $endblock ? 1 : 0;
 <script type="text/javascript">  
 // <![CDATA[    # caller just wants to know whether a block is active
     if (!wantarray) { return $blocked; }
   
     # build a link to a popup window containing the details
     my $querystring  = "?activity=$activity";
     # $uname and $udom decide whose portfolio the user is trying to look at
        $querystring .= "&amp;udom=$udom"      if $udom;
        $querystring .= "&amp;uname=$uname"    if $uname;
   
     my $output .= <<'END_MYBLOCK';
     function openWindow(url, wdwName, w, h, toolbar,scrollbar) {      function openWindow(url, wdwName, w, h, toolbar,scrollbar) {
         var options = "width=" + w + ",height=" + h + ",";          var options = "width=" + w + ",height=" + h + ",";
         options += "resizable=yes,scrollbars="+scrollbar+",status=no,";          options += "resizable=yes,scrollbars="+scrollbar+",status=no,";
Line 3941  sub blocking_status { Line 3951  sub blocking_status {
         var newWin = window.open(url, wdwName, options);          var newWin = window.open(url, wdwName, options);
         newWin.focus();          newWin.focus();
     }      }
   
 // ]]>  
 </script>  
 END_MYBLOCK  END_MYBLOCK
   
     $output = Apache::lonhtmlcommon::scripttag($output);
     
   my $popupUrl = "/adm/blockingstatus/$querystring";    my $popupUrl = "/adm/blockingstatus/$querystring";
     my $text = mt('Communication Blocked');
   
   $output .= <<"END_BLOCK";    $output .= <<"END_BLOCK";
 <div class='LC_comblock'>  <div class='LC_comblock'>
   <a onclick='openWindow("$popupUrl","Blocking Table",600,300,"no","no");return false;' href='/adm/blockingstatus/$querystring'    <a onclick='openWindow("$popupUrl","Blocking Table",600,300,"no","no");return false;' href='/adm/blockingstatus/$querystring'
   title='Communication Blocked'>    title='$text'>
   <img class='LC_noBorder LC_middle' title='Communication Blocked' src='/res/adm/pages/comblock.png' alt='Communication Blocked'/></a>    <img class='LC_noBorder LC_middle' title='$text' src='/res/adm/pages/comblock.png' alt='$text'/></a>
   <a onclick='openWindow("$popupUrl","Blocking Table",600,300,"no","no");return false;' href='/adm/blockingstatus/$querystring'     <a onclick='openWindow("$popupUrl","Blocking Table",600,300,"no","no");return false;' href='/adm/blockingstatus/$querystring' 
   title='Communication Blocked'>Communication Blocked</a>    title='$text'>$text</a>
 </div>  </div>
   
 END_BLOCK  END_BLOCK
Line 4035  sub determinedomain { Line 4047  sub determinedomain {
     my $domain=shift;      my $domain=shift;
     if (! $domain) {      if (! $domain) {
         # Determine domain if we have not been given one          # Determine domain if we have not been given one
         $domain = $Apache::lonnet::perlvar{'lonDefDomain'};          $domain = &Apache::lonnet::default_login_domain();
         if ($env{'user.domain'}) { $domain=$env{'user.domain'}; }          if ($env{'user.domain'}) { $domain=$env{'user.domain'}; }
         if ($env{'request.role.domain'}) {           if ($env{'request.role.domain'}) { 
             $domain=$env{'request.role.domain'};               $domain=$env{'request.role.domain'}; 
Line 4429  sub bodytag { Line 4441  sub bodytag {
   
     if ($env{'environment.remote'} eq 'off') {      if ($env{'environment.remote'} eq 'off') {
         # No Remote          # No Remote
  if ($env{'request.state'} eq 'construct') {          if ($env{'request.state'} eq 'construct') {
     $forcereg=1;              $forcereg=1;
  }          }
   
 #    if ($env{'request.state'} eq 'construct') {      #    if ($env{'request.state'} eq 'construct') {
 #        $titleinfo = &CSTR_pageheader(); #FIXME: Will be removed once all scripts have their own calls      #        $titleinfo = &CSTR_pageheader(); #FIXME: Will be removed once all scripts have their own calls
 #    }      #    }
   
         my $titletable = '<table id="LC_title_bar">'          my $titletable = '<table id="LC_title_bar">'
                         ."<tr><td> $titleinfo $dc_info</td>"                              ."<tr><td> $titleinfo $dc_info</td>"
                         .'</tr></table>';                              .'</tr></table>';
   
  if ($no_nav_bar) {          if ($no_nav_bar) {
     $bodytag .= $titletable;              $bodytag .= $titletable;
  } else {          } else {
         $bodytag .= qq|<div id="LC_nav_bar">$name $role<br />              $bodytag .= qq|<div id="LC_nav_bar">$name $role<br />
             <em>$realm</em> $dc_info</div>| unless $env{'form.inhibitmenu'};                  <em>$realm</em> $dc_info</div>| unless $env{'form.inhibitmenu'};
   
     if ($env{'request.state'} eq 'construct') {  #SD $titletable is obsolete
                 $bodytag .= &Apache::lonmenu::menubuttons($forcereg,$titletable);  #SD            if ($env{'request.state'} eq 'construct') {
             } else {  #SD                $bodytag .= &Apache::lonmenu::menubuttons($forcereg,$titletable);
                 $bodytag .= &Apache::lonmenu::menubuttons($forcereg).$titletable;  #SD            } else {
             }  #SD                $bodytag .= &Apache::lonmenu::menubuttons($forcereg).$titletable;
   #SD            }
                  if (   $env{'form.inhibitmenu'} eq 'yes' 
                      || $ENV{'REQUEST_URI'} eq '/adm/logout'
                      || $env{'request.noversionuri'} =~ m{^/res/adm/pages/}) {
                      
                      return $bodytag;
                  }
   
                  $bodytag .= Apache::lonhtmlcommon::scripttag(
                                   Apache::lonmenu::utilityfunctions(),
                                   'start');
                  $bodytag .= Apache::lonmenu::primary_menu();
                  $bodytag .= Apache::lonmenu::secondary_menu();
                  #SD remove next line
                  #$bodytag .= Apache::lonmenu::menubuttons($forcereg);
                  $bodytag .= Apache::lonmenu::serverform();
                  $bodytag .= Apache::lonhtmlcommon::scripttag('', 'end'); 
                  $bodytag .= Apache::lonmenu::innerregister($forcereg) if $forcereg;
         }          }
         return $bodytag;          return $bodytag;
     }      }
Line 4642  a:focus { Line 4672  a:focus {
   background: yellow     background: yellow 
 }  }
   
 hr {  
   clear: both;  
   color: $tabbg;  
   background-color: $tabbg;  
   height: 3px;  
   border: none;  
 }  
   
 form, .inline {   form, .inline { 
    display: inline;      display: inline; 
 }  }
Line 4994  table.LC_nested tr.LC_empty_row td { Line 5016  table.LC_nested tr.LC_empty_row td {
   padding: 8px;    padding: 8px;
 }  }
   
   table.LC_caption {
   }
   
 table.LC_nested tr.LC_empty_row td {  table.LC_nested tr.LC_empty_row td {
   padding: 4ex    padding: 4ex
 }  }
Line 6763  sub simple_error_page { Line 6788  sub simple_error_page {
     sub end_data_table_header_row {      sub end_data_table_header_row {
  return '</tr>'."\n";;   return '</tr>'."\n";;
     }      }
   
       sub data_table_caption {
           my $caption = shift;
           return "<caption class=\"LC_caption\">$caption</caption>";
       }
 }  }
   
 =pod  =pod

Removed from v.1.885  
changed lines
  Added in v.1.896


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>