Diff for /loncom/interface/loncreateuser.pm between versions 1.377 and 1.378

version 1.377, 2013/06/04 23:12:08 version 1.378, 2013/07/02 19:04:37
Line 122  sub auth_abbrev { Line 122  sub auth_abbrev {
   
 # ====================================================  # ====================================================
   
 sub portfolio_quota {  sub user_quotas {
     my ($ccuname,$ccdomain) = @_;      my ($ccuname,$ccdomain) = @_;
     my %lt = &Apache::lonlocal::texthash(      my %lt = &Apache::lonlocal::texthash(
                    'usrt'      => "User Tools",                     'usrt'      => "User Tools",
                    'disk'      => "Disk space allocated to user's portfolio files",  
                    'cuqu'      => "Current quota",                     'cuqu'      => "Current quota",
                    'cust'      => "Custom quota",                     'cust'      => "Custom quota",
                    'defa'      => "Default",                     'defa'      => "Default",
                    'chqu'      => "Change quota",                     'chqu'      => "Change quota",
     );      );
     my ($currquota,$quotatype,$inststatus,$defquota) =      
         &Apache::loncommon::get_user_quota($ccuname,$ccdomain);  
     my ($usertypes,$order) = &Apache::lonnet::retrieve_inst_usertypes($ccdomain);  
     my ($longinsttype,$showquota,$custom_on,$custom_off,$defaultinfo);  
     if ($inststatus ne '') {  
         if ($usertypes->{$inststatus} ne '') {  
             $longinsttype = $usertypes->{$inststatus};  
         }  
     }  
     $custom_on = ' ';  
     $custom_off = ' checked="checked" ';  
     my $quota_javascript = <<"END_SCRIPT";      my $quota_javascript = <<"END_SCRIPT";
 <script type="text/javascript">  <script type="text/javascript">
 // <![CDATA[  // <![CDATA[
 function quota_changes(caller) {  function quota_changes(caller,context) {
       var customoff = document.getElementById('custom_'+context+'quota_off');
       var customon = document.getElementById('custom_'+context+'quota_on');
       var number = document.getElementById(context+'quota');
     if (caller == "custom") {      if (caller == "custom") {
         if (document.cu.customquota[0].checked) {          if (customoff) {
             document.cu.portfolioquota.value = "";              if (customoff.checked) {
                   number.value = "";
               }
         }          }
     }      }
     if (caller == "quota") {      if (caller == "quota") {
         document.cu.customquota[1].checked = true;          if (customon) {
               customon.checked = true;
           }
     }      }
       return;
 }  }
 // ]]>  // ]]>
 </script>  </script>
 END_SCRIPT  END_SCRIPT
     if ($quotatype eq 'custom') {      my $longinsttype;
         $custom_on = $custom_off;      my ($usertypes,$order) = &Apache::lonnet::retrieve_inst_usertypes($ccdomain);
         $custom_off = ' ';  
         $showquota = $currquota;  
         if ($longinsttype eq '') {  
             $defaultinfo = &mt('For this user, the default quota would be [_1]'  
                             .' Mb.',$defquota);  
         } else {  
             $defaultinfo = &mt("For this user, the default quota would be [_1]".  
                                " Mb, as determined by the user's institutional".  
                                " affiliation ([_2]).",$defquota,$longinsttype);  
         }  
     } else {  
         if ($longinsttype eq '') {  
             $defaultinfo = &mt('For this user, the default quota is [_1]'  
                             .' Mb.',$defquota);  
         } else {  
             $defaultinfo = &mt("For this user, the default quota of [_1]".  
                                " Mb, is determined by the user's institutional".  
                                " affiliation ([_2]).",$defquota,$longinsttype);  
         }  
     }  
   
     my $output = $quota_javascript."\n".      my $output = $quota_javascript."\n".
                  '<h3>'.$lt{'usrt'}.'</h3>'."\n".                   '<h3>'.$lt{'usrt'}.'</h3>'."\n".
                  &Apache::loncommon::start_data_table();                   &Apache::loncommon::start_data_table();
Line 189  END_SCRIPT Line 165  END_SCRIPT
     if (&Apache::lonnet::allowed('mut',$ccdomain)) {      if (&Apache::lonnet::allowed('mut',$ccdomain)) {
         $output .= &build_tools_display($ccuname,$ccdomain,'tools');          $output .= &build_tools_display($ccuname,$ccdomain,'tools');
     }      }
     if (&Apache::lonnet::allowed('mpq',$ccdomain)) {  
         $output .= '<tr class="LC_info_row">'."\n".      my %titles = &Apache::lonlocal::texthash (
                    '    <td>'.$lt{'disk'}.'</td>'."\n".                      portfolio => "Disk space allocated to user's portfolio files",
                    '  </tr>'."\n".                      author    => "Disk space allocated to user's authoring space (if role assigned)",
                    &Apache::loncommon::start_data_table_row()."\n".                   );
                    '  <td>'.$lt{'cuqu'}.': '.      foreach my $name ('portfolio','author') {
                    $currquota.'&nbsp;Mb.&nbsp;&nbsp;'.          my ($currquota,$quotatype,$inststatus,$defquota) =
                    $defaultinfo.'</td>'."\n".              &Apache::loncommon::get_user_quota($ccuname,$ccdomain,$name);
                    &Apache::loncommon::end_data_table_row()."\n".          if ($longinsttype eq '') { 
                    &Apache::loncommon::start_data_table_row()."\n".              if ($inststatus ne '') {
                    '  <td><span class="LC_nobreak">'.$lt{'chqu'}.                  if ($usertypes->{$inststatus} ne '') {
                    ': <label>'.                      $longinsttype = $usertypes->{$inststatus};
                    '<input type="radio" name="customquota" value="0" '.                  }
                    $custom_off.' onchange="javascript:quota_changes('."'custom'".')"'.              }
                    ' />'.$lt{'defa'}.'&nbsp;('.$defquota.' Mb).</label>&nbsp;'.          }
                    '&nbsp;<label><input type="radio" name="customquota" value="1" '.           my ($showquota,$custom_on,$custom_off,$defaultinfo);
                    $custom_on.'  onchange="javascript:quota_changes('."'custom'".')" />'.          $custom_on = ' ';
                    $lt{'cust'}.':</label>&nbsp;'.          $custom_off = ' checked="checked" ';
                    '<input type="text" name="portfolioquota" size ="5" value="'.          if ($quotatype eq 'custom') {
                    $showquota.'" onfocus="javascript:quota_changes('."'quota'".')" '.              $custom_on = $custom_off;
                    '/>&nbsp;Mb</span></td>'."\n".              $custom_off = ' ';
                    &Apache::loncommon::end_data_table_row()."\n";              $showquota = $currquota;
     }                if ($longinsttype eq '') {
                   $defaultinfo = &mt('For this user, the default quota would be [_1]'
                                 .' Mb.',$defquota);
               } else {
                   $defaultinfo = &mt("For this user, the default quota would be [_1]".
                                      " Mb, as determined by the user's institutional".
                                      " affiliation ([_2]).",$defquota,$longinsttype);
               }
           } else {
               if ($longinsttype eq '') {
                   $defaultinfo = &mt('For this user, the default quota is [_1]'
                                 .' Mb.',$defquota);
               } else {
                   $defaultinfo = &mt("For this user, the default quota of [_1]".
                                      " Mb, is determined by the user's institutional".
                                      " affiliation ([_2]).",$defquota,$longinsttype);
               }
           }
   
           if (&Apache::lonnet::allowed('mpq',$ccdomain)) {
               $output .= '<tr class="LC_info_row">'."\n".
                          '    <td>'.$titles{$name}.'</td>'."\n".
                          '  </tr>'."\n".
                          &Apache::loncommon::start_data_table_row()."\n".
                          '  <td>'.$lt{'cuqu'}.': '.
                          $currquota.'&nbsp;Mb.&nbsp;&nbsp;'.
                          $defaultinfo.'</td>'."\n".
                          &Apache::loncommon::end_data_table_row()."\n".
                          &Apache::loncommon::start_data_table_row()."\n".
                          '  <td><span class="LC_nobreak">'.$lt{'chqu'}.
                          ': <label>'.
                          '<input type="radio" name="custom_'.$name.'quota" id="custom_'.$name.'quota_off" '.
                          'value="0" '.$custom_off.' onchange="javascript:quota_changes('."'custom','$name'".')"'.
                          ' />'.$lt{'defa'}.'&nbsp;('.$defquota.' Mb).</label>&nbsp;'.
                          '&nbsp;<label><input type="radio" name="custom_'.$name.'quota" id="custom_'.$name.'quota_on" '.
                          'value="1" '.$custom_on.'  onchange="javascript:quota_changes('."'custom'".')";'.
                          ' />'.$lt{'cust'}.':</label>&nbsp;'.
                          '<input type="text" name="'.$name.'quota" size ="5" value="'.
                          $showquota.'" onfocus="javascript:quota_changes('."'quota','$name'".')"'.
                          ' />&nbsp;Mb</span></td>'."\n".
                          &Apache::loncommon::end_data_table_row()."\n";
           }
       }
     $output .= &Apache::loncommon::end_data_table();      $output .= &Apache::loncommon::end_data_table();
     return $output;      return $output;
 }  }
Line 1205  ENDFORMINFO Line 1223  ENDFORMINFO
         if ((&Apache::lonnet::allowed('mpq',$env{'request.role.domain'})) ||          if ((&Apache::lonnet::allowed('mpq',$env{'request.role.domain'})) ||
             (&Apache::lonnet::allowed('mut',$env{'request.role.domain'}))) {              (&Apache::lonnet::allowed('mut',$env{'request.role.domain'}))) {
             # Current user has quota or user tools modification privileges              # Current user has quota or user tools modification privileges
             $portfolioform = '<br />'.&portfolio_quota($ccuname,$ccdomain);              $portfolioform = '<br />'.&user_quotas($ccuname,$ccdomain);
         }          }
         if (&Apache::lonnet::allowed('cau',$env{'request.role.domain'})) {          if (&Apache::lonnet::allowed('cau',$env{'request.role.domain'})) {
             $domroleform = '<br />'.&domainrole_req($ccuname,$ccdomain);              $domroleform = '<br />'.&domainrole_req($ccuname,$ccdomain);
Line 1381  ENDCHANGEUSER Line 1399  ENDCHANGEUSER
         if ((&Apache::lonnet::allowed('mpq',$ccdomain)) ||          if ((&Apache::lonnet::allowed('mpq',$ccdomain)) ||
             (&Apache::lonnet::allowed('mut',$ccdomain))) {              (&Apache::lonnet::allowed('mut',$ccdomain))) {
             # Current user has quota modification privileges              # Current user has quota modification privileges
             $user_text{'quota'} = &portfolio_quota($ccuname,$ccdomain);              $user_text{'quota'} = &user_quotas($ccuname,$ccdomain);
         }          }
         if (!&Apache::lonnet::allowed('mpq',$ccdomain)) {          if (!&Apache::lonnet::allowed('mpq',$ccdomain)) {
             if (&Apache::lonnet::allowed('mpq',$env{'request.role.domain'})) {              if (&Apache::lonnet::allowed('mpq',$env{'request.role.domain'})) {
                 # Get the user's portfolio information  
                 my %portq = &Apache::lonnet::get('environment',['portfolioquota'],  
                                                  $ccdomain,$ccuname);  
                 my %lt=&Apache::lonlocal::texthash(                  my %lt=&Apache::lonlocal::texthash(
                     'dska'  => "Disk space allocated to user's portfolio files",                      'dska'  => "Disk quotas for user's portfolio and authoring space",
                     'youd'  => "You do not have privileges to modify the portfolio quota for this user.",                      'youd'  => "You do not have privileges to modify the portfolio and/or authoring space quotas for this user.",
                     'ichr'  => "If a change is required, contact a domain coordinator for the domain",                      'ichr'  => "If a change is required, contact a domain coordinator for the domain",
                 );                  );
                 $user_text{'quota'} = <<ENDNOPORTPRIV;                  $user_text{'quota'} = <<ENDNOPORTPRIV;
Line 2557  sub update_user_data { Line 2572  sub update_user_data {
         my (%changeHash,%newcustom,%changed,%changedinfo);          my (%changeHash,%newcustom,%changed,%changedinfo);
         if ($uhome ne 'no_host') {          if ($uhome ne 'no_host') {
             if ($context eq 'domain') {              if ($context eq 'domain') {
                 if ($env{'form.customquota'} == 1) {                  foreach my $name ('portfolio','author') {
                     if ($env{'form.portfolioquota'} eq '') {                      if ($env{'form.custom_'.$name.'quota'} == 1) {
                         $newcustom{'quota'} = 0;                          if ($env{'form.'.$name.'quota'} eq '') {
                     } else {                              $newcustom{$name.'quota'} = 0;
                         $newcustom{'quota'} = $env{'form.portfolioquota'};                          } else {
                         $newcustom{'quota'} =~ s/[^\d\.]//g;                              $newcustom{$name.'quota'} = $env{'form.'.$name.'quota'};
                               $newcustom{$name.'quota'} =~ s/[^\d\.]//g;
                           }
                           if (&quota_admin($newcustom{$name.'quota'},\%changeHash,$name)) {
                               $changed{$name.'quota'} = 1;
                           }
                     }                      }
                     $changed{'quota'} = &quota_admin($newcustom{'quota'},\%changeHash);  
                 }                  }
                 foreach my $item (@usertools) {                  foreach my $item (@usertools) {
                     if ($env{'form.custom'.$item} == 1) {                      if ($env{'form.custom'.$item} == 1) {
Line 2649  sub update_user_data { Line 2668  sub update_user_data {
         # Check for need to change          # Check for need to change
         my %userenv = &Apache::lonnet::get          my %userenv = &Apache::lonnet::get
             ('environment',['firstname','middlename','lastname','generation',              ('environment',['firstname','middlename','lastname','generation',
              'id','permanentemail','portfolioquota','inststatus','tools.aboutme',               'id','permanentemail','portfolioquota','authorquota','inststatus',
              'tools.blog','tools.webdav','tools.portfolio',               'tools.aboutme','tools.blog','tools.webdav','tools.portfolio',
              'requestcourses.official','requestcourses.unofficial',               'requestcourses.official','requestcourses.unofficial',
              'requestcourses.community','reqcrsotherdom.official',               'requestcourses.community','reqcrsotherdom.official',
              'reqcrsotherdom.unofficial','reqcrsotherdom.community',               'reqcrsotherdom.unofficial','reqcrsotherdom.community',
Line 2776  sub update_user_data { Line 2795  sub update_user_data {
                 }                  }
             }              }
         }          }
         my ($quotachanged,$oldportfolioquota,$newportfolioquota,$oldinststatus,          my (%quotachanged,%oldquota,%newquota,%olddefquota,%newdefquota, 
             $newinststatus,$oldisdefault,$newisdefault,%oldsettings,              $oldinststatus,$newinststatus,%oldisdefault,%newisdefault,%oldsettings,
             %oldsettingstext,%newsettings,%newsettingstext,@disporder,              %oldsettingstext,%newsettings,%newsettingstext,@disporder,
             $olddefquota,$oldsettingstatus,$newdefquota,$newsettingstatus);              %oldsettingstatus,%newsettingstatus);
         @disporder = ('inststatus');          @disporder = ('inststatus');
         if ($env{'request.role.domain'} eq $env{'form.ccdomain'}) {          if ($env{'request.role.domain'} eq $env{'form.ccdomain'}) {
             push(@disporder,'requestcourses','requestauthor');              push(@disporder,'requestcourses','requestauthor');
Line 2788  sub update_user_data { Line 2807  sub update_user_data {
         }          }
         push(@disporder,('quota','tools'));          push(@disporder,('quota','tools'));
         $oldinststatus = $userenv{'inststatus'};          $oldinststatus = $userenv{'inststatus'};
         ($olddefquota,$oldsettingstatus) =           foreach my $name ('portfolio','author') {
             &Apache::loncommon::default_quota($env{'form.ccdomain'},$oldinststatus);              ($olddefquota{$name},$oldsettingstatus{$name}) = 
         ($newdefquota,$newsettingstatus) = ($olddefquota,$oldsettingstatus);                  &Apache::loncommon::default_quota($env{'form.ccdomain'},$oldinststatus,$name);
               ($newdefquota{$name},$newsettingstatus{$name}) = ($olddefquota{$name},$oldsettingstatus{$name});
           }
         my %canshow;          my %canshow;
         if (&Apache::lonnet::allowed('mpq',$env{'form.ccdomain'})) {          if (&Apache::lonnet::allowed('mpq',$env{'form.ccdomain'})) {
             $canshow{'quota'} = 1;              $canshow{'quota'} = 1;
Line 2829  sub update_user_data { Line 2850  sub update_user_data {
                     $changeHash{'inststatus'} = $newinststatus;                      $changeHash{'inststatus'} = $newinststatus;
                     if ($newinststatus ne $oldinststatus) {                      if ($newinststatus ne $oldinststatus) {
                         $changed{'inststatus'} = $newinststatus;                          $changed{'inststatus'} = $newinststatus;
                         ($newdefquota,$newsettingstatus) =                          foreach my $name ('portfolio','author') {
                             &Apache::loncommon::default_quota($env{'form.ccdomain'},$newinststatus);                              ($newdefquota{$name},$newsettingstatus{$name}) =
                                   &Apache::loncommon::default_quota($env{'form.ccdomain'},$newinststatus,$name);
                           }
                     }                      }
                     if (ref($usertypes) eq 'HASH') {                      if (ref($usertypes) eq 'HASH') {
                         $newsettings{'inststatus'} = join(', ',map{ $usertypes->{$_}; } (@inststatuses));                           $newsettings{'inststatus'} = join(', ',map{ $usertypes->{$_}; } (@inststatuses)); 
Line 2844  sub update_user_data { Line 2867  sub update_user_data {
                 $newsettings{'inststatus'} = $othertitle;                  $newsettings{'inststatus'} = $othertitle;
                 if ($newinststatus ne $oldinststatus) {                  if ($newinststatus ne $oldinststatus) {
                     $changed{'inststatus'} = $changeHash{'inststatus'};                      $changed{'inststatus'} = $changeHash{'inststatus'};
                     ($newdefquota,$newsettingstatus) =                      foreach my $name ('portfolio','author') {
                         &Apache::loncommon::default_quota($env{'form.ccdomain'},$newinststatus);                          ($newdefquota{$name},$newsettingstatus{$name}) =
                               &Apache::loncommon::default_quota($env{'form.ccdomain'},$newinststatus,$name);
                       }
                 }                  }
             }              }
         } elsif ($context ne 'selfcreate') {          } elsif ($context ne 'selfcreate') {
             $canshow{'inststatus'} = 1;              $canshow{'inststatus'} = 1;
             $newsettings{'inststatus'} = $oldsettings{'inststatus'};              $newsettings{'inststatus'} = $oldsettings{'inststatus'};
         }          }
         $changeHash{'portfolioquota'} = $userenv{'portfolioquota'};          foreach my $name ('portfolio','author') {
               $changeHash{$name.'quota'} = $userenv{$name.'quota'};
           }
         if ($context eq 'domain') {          if ($context eq 'domain') {
             if ($userenv{'portfolioquota'} ne '') {              foreach my $name ('portfolio','author') {
                 $oldportfolioquota = $userenv{'portfolioquota'};                  if ($userenv{$name.'quota'} ne '') {
                 if ($env{'form.customquota'} == 1) {                      $oldquota{$name} = $userenv{$name.'quota'};
                     if ($env{'form.portfolioquota'} eq '') {                      if ($env{'form.custom_'.$name.'quota'} == 1) {
                         $newportfolioquota = 0;                          if ($env{'form.'.$name.'quota'} eq '') {
                               $newquota{$name} = 0;
                           } else {
                               $newquota{$name} = $env{'form.'.$name.'quota'};
                               $newquota{$name} =~ s/[^\d\.]//g;
                           }
                           if ($newquota{$name} != $oldquota{$name}) {
                               if (&quota_admin($newquota{$name},\%changeHash,$name)) {
                                   $changed{$name.'quota'} = 1;
                               }
                           }
                     } else {                      } else {
                         $newportfolioquota = $env{'form.portfolioquota'};                          if (&quota_admin('',\%changeHash,$name)) {
                         $newportfolioquota =~ s/[^\d\.]//g;                              $changed{$name.'quota'} = 1;
                     }                              $newquota{$name} = $newdefquota{$name};
                     if ($newportfolioquota != $oldportfolioquota) {                              $newisdefault{$name} = 1;
                         $changed{'quota'} = &quota_admin($newportfolioquota,\%changeHash);                          }
                     }                      }
                 } else {                  } else {
                     $changed{'quota'} = &quota_admin('',\%changeHash);                      $oldisdefault{$name} = 1;
                     $newportfolioquota = $newdefquota;                      $oldquota{$name} = $olddefquota{$name};
                     $newisdefault = 1;                      if ($env{'form.custom_'.$name.'quota'} == 1) {
                 }                          if ($env{'form.'.$name.'quota'} eq '') {
             } else {                              $newquota{$name} = 0;
                 $oldisdefault = 1;                          } else {
                 $oldportfolioquota = $olddefquota;                              $newquota{$name} = $env{'form.'.$name.'quota'};
                 if ($env{'form.customquota'} == 1) {                              $newquota{$name} =~ s/[^\d\.]//g;
                     if ($env{'form.portfolioquota'} eq '') {                          }
                         $newportfolioquota = 0;                          if (&quota_admin($newquota{$name},\%changeHash,$name)) {
                               $changed{$name.'quota'} = 1;
                           }
                     } else {                      } else {
                         $newportfolioquota = $env{'form.portfolioquota'};                          $newquota{$name} = $newdefquota{$name};
                         $newportfolioquota =~ s/[^\d\.]//g;                          $newisdefault{$name} = 1;
                     }                      }
                     $changed{'quota'} = &quota_admin($newportfolioquota,\%changeHash);  
                 } else {  
                     $newportfolioquota = $newdefquota;  
                     $newisdefault = 1;  
                 }                  }
             }                  if ($oldisdefault{$name}) {
             if ($oldisdefault) {                      $oldsettingstext{'quota'}{$name} = &get_defaultquota_text($oldsettingstatus{$name});
                 $oldsettingstext{'quota'} = &get_defaultquota_text($oldsettingstatus);                  }
             }                  if ($newisdefault{$name}) {
             if ($newisdefault) {                      $newsettingstext{'quota'}{$name} = &get_defaultquota_text($newsettingstatus{$name});
                 $newsettingstext{'quota'} = &get_defaultquota_text($newsettingstatus);                  }
             }              }
             &tool_changes('tools',\@usertools,\%oldsettings,\%oldsettingstext,\%userenv,              &tool_changes('tools',\@usertools,\%oldsettings,\%oldsettingstext,\%userenv,
                           \%changeHash,\%changed,\%newsettings,\%newsettingstext);                            \%changeHash,\%changed,\%newsettings,\%newsettingstext);
Line 2909  sub update_user_data { Line 2944  sub update_user_data {
                 $namechanged{$item} = 1;                  $namechanged{$item} = 1;
             }              }
         }          }
         $oldsettings{'quota'} = $oldportfolioquota.' Mb';          foreach my $name ('portfolio','author') {
         $newsettings{'quota'} = $newportfolioquota.' Mb';              $oldsettings{'quota'}{$name} = $oldquota{$name}.' Mb';
               $newsettings{'quota'}{$name} = $newquota{$name}.' Mb';
           }
         if ((keys(%namechanged) > 0) || (keys(%changed) > 0)) {          if ((keys(%namechanged) > 0) || (keys(%changed) > 0)) {
             my ($chgresult,$namechgresult);              my ($chgresult,$namechgresult);
             if (keys(%changed) > 0) {              if (keys(%changed) > 0) {
Line 3118  sub display_userinfo { Line 3155  sub display_userinfo {
          'generation'     => 'Generation',           'generation'     => 'Generation',
          'id'             => 'Student/Employee ID',           'id'             => 'Student/Employee ID',
          'permanentemail' => 'Permanent e-mail address',           'permanentemail' => 'Permanent e-mail address',
          'quota'          => 'Disk space allocated to portfolio files',           'portfolioquota' => 'Disk space allocated to portfolio files',
            'authorquota'    => 'Disk space allocated to authoring space',
          'blog'           => 'Blog Availability',           'blog'           => 'Blog Availability',
          'webdav'         => 'WebDAV Availability',           'webdav'         => 'WebDAV Availability',
          'aboutme'        => 'Personal Information Page Availability',           'aboutme'        => 'Personal Information Page Availability',
Line 3178  sub display_userinfo { Line 3216  sub display_userinfo {
                         }                          }
                         $r->print("<td>$value </td>\n");                          $r->print("<td>$value </td>\n");
                     }                      }
                   } elsif ($entry eq 'quota') {
                       if ((ref($oldsetting->{$entry}) eq 'HASH') && (ref($oldsettingtext->{$entry}) eq 'HASH') &&
                           (ref($newsetting->{$entry}) eq 'HASH') && (ref($newsettingtext->{$entry}) eq 'HASH')) {
                           foreach my $name ('portfolio','author') {
                               $r->print("<td>$lt{$name.$entry}</td>\n");
                               $r->print("<td>$oldsetting->{$entry}->{$name} $oldsettingtext->{$entry}->{$name} </td>\n");
                               my $value = $newsetting->{$entry}->{$name}.' '.$newsettingtext->{$entry}->{$name};
                               if ($changedhash->{$entry}) {
                                   $value = '<span class="LC_cusr_emph">'.$value.'</span>';
                               }
                                $r->print("<td>$value </td>\n");
                           }
                       }
                 } else {                  } else {
                     $r->print("<td>$lt{$entry}</td>\n");                      $r->print("<td>$lt{$entry}</td>\n");
                     $r->print("<td>$oldsetting->{$entry} $oldsettingtext->{$entry} </td>\n");                      $r->print("<td>$oldsetting->{$entry} $oldsettingtext->{$entry} </td>\n");
Line 3822  sub update_result_form { Line 3873  sub update_result_form {
 }  }
   
 sub quota_admin {  sub quota_admin {
     my ($setquota,$changeHash) = @_;      my ($setquota,$changeHash,$name) = @_;
     my $quotachanged;      my $quotachanged;
     if (&Apache::lonnet::allowed('mpq',$env{'form.ccdomain'})) {      if (&Apache::lonnet::allowed('mpq',$env{'form.ccdomain'})) {
         # Current user has quota modification privileges          # Current user has quota modification privileges
         if (ref($changeHash) eq 'HASH') {          if (ref($changeHash) eq 'HASH') {
             $quotachanged = 1;              $quotachanged = 1;
             $changeHash->{'portfolioquota'} = $setquota;              $changeHash->{$name.'quota'} = $setquota;
         }          }
     }      }
     return $quotachanged;      return $quotachanged;

Removed from v.1.377  
changed lines
  Added in v.1.378


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