Diff for /loncom/interface/loncommon.pm between versions 1.636.2.6 and 1.637

version 1.636.2.6, 2008/04/04 16:48:42 version 1.637, 2008/01/22 22:37:18
Line 78  my $readit; Line 78  my $readit;
 ## Global Variables  ## Global Variables
 ##  ##
   
 # ----------------------------------------------- SSI with retries:  
 #  
   
 =pod  
   
 =head1 Server Side include with retries:  
   
 =over 4  
   
 =item * &ssi_with_retries(resource,retries form)  
   
 Performs an ssi with some number of retries.  Retries continue either  
 until the result is ok or until the retry count supplied by the  
 caller is exhausted.  
   
 Inputs:  
   
 =over 4  
   
 resource   - Identifies the resource to insert.  
   
 retries    - Count of the number of retries allowed.  
   
 form       - Hash that identifies the rendering options.  
   
 =back  
   
 Returns:  
   
 =over 4  
   
 content    - The content of the response.  If retries were exhausted this is empty.  
   
 response   - The response from the last attempt (which may or may not have been successful.  
   
 =back  
   
 =back  
   
 =cut  
   
 sub ssi_with_retries {  
     my ($resource, $retries, %form) = @_;  
   
   
     my $ok = 0;                 # True if we got a good response.  
     my $content;  
     my $response;  
   
     # Try to get the ssi done. within the retries count:  
   
     do {  
         ($content, $response) = &Apache::lonnet::ssi($resource, %form);  
         $ok      = $response->is_success;  
         if (!$ok) {  
             &Apache::lonnet::logthis("Failed ssi_with_retries on $resource: ".$response->is_success.', '.$response->code.', '.$response->message);  
         }  
         $retries--;  
     } while (!$ok && ($retries > 0));  
   
     if (!$ok) {  
         $content = '';          # On error return an empty content.  
     }  
     return ($content, $response);  
   
 }  
   
   
   
 # ----------------------------------------------- Filetypes/Languages/Copyright  # ----------------------------------------------- Filetypes/Languages/Copyright
 my %language;  my %language;
 my %supported_language;  my %supported_language;
Line 3179  sub get_student_view { Line 3110  sub get_student_view {
   }    }
   if (defined($target)) { $form{'grade_target'} = $target; }    if (defined($target)) { $form{'grade_target'} = $target; }
   $feedurl=&Apache::lonnet::clutter($feedurl);    $feedurl=&Apache::lonnet::clutter($feedurl);
   my ($userview,$response)=&Apache::lonnet::ssi_body($feedurl,%form);    my $userview=&Apache::lonnet::ssi_body($feedurl,%form);
   $userview=~s/\<body[^\>]*\>//gi;    $userview=~s/\<body[^\>]*\>//gi;
   $userview=~s/\<\/body\>//gi;    $userview=~s/\<\/body\>//gi;
   $userview=~s/\<html\>//gi;    $userview=~s/\<html\>//gi;
Line 3188  sub get_student_view { Line 3119  sub get_student_view {
   $userview=~s/\<\/head\>//gi;    $userview=~s/\<\/head\>//gi;
   $userview=~s/action\s*\=/would_be_action\=/gi;    $userview=~s/action\s*\=/would_be_action\=/gi;
   $userview=&relative_to_absolute($feedurl,$userview);    $userview=&relative_to_absolute($feedurl,$userview);
   if (wantarray) {    return $userview;
       return ($userview,$response);  
   } else {  
       return $userview;  
   }  
 }  
   
 sub get_student_view_with_retries {  
     my ($symb,$retries,$username,$domain,$courseid,$target,$moreenv) = @_;  
   
     my $ok = 0;                 # True if we got a good response.  
     my $content;  
     my $response;  
   
     # Try to get the student_view done. within the retries count:  
       
     do {  
         ($content, $response) = &get_student_view($symb,$username,$domain,$courseid,$target,$moreenv);  
         $ok = $response->is_success;  
         if (!$ok) {  
             &Apache::lonnet::logthis("Failed get_student_view_with_retries on $symb: ".$response->is_success.', '.$response->code.', '.$response->message);  
         }  
         $retries--;  
     } while (!$ok && ($retries > 0));  
       
     if (!$ok) {  
         $content = '';          # On error return an empty content.  
     }  
     if (wantarray) {  
         return ($content, $response);  
     } else {  
         return $content;  
     }  
 }  }
   
 =pod  =pod
Line 4082  ENDROLE Line 3981  ENDROLE
         $dc_info = '('.$dc_info.')';          $dc_info = '('.$dc_info.')';
     }      }
   
     if (($env{'environment.remote'} eq 'off') || ($args->{'suppress_header_logos'})) {      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;
Line 4105  ENDROLE Line 4004  ENDROLE
  $lastitem = $thisdisfn;   $lastitem = $thisdisfn;
     }      }
     $titleinfo =       $titleinfo = 
  &Apache::loncommon::help_open_menu('','',3,'Authoring')   &Apache::loncommon::help_open_menu('','',3,'Authoring').
  .'<b>'.&mt('Construction Space').'</b>:&nbsp;'   '<b>Construction Space</b>:&nbsp;'. 
  .'<form name="dirs" method="post" action="'.$formaction.'"'   '<form name="dirs" method="post" action="'.$formaction
  .' target="_top"><tt><b>'   .'" target="_top"><tt><b>'
  .&Apache::lonhtmlcommon::crumbs($uname.'/'.$parentpath,'_top','/priv','','+1',1)."<font size=\"+1\">$lastitem</font></b></tt><br />"   .&Apache::lonhtmlcommon::crumbs($uname.'/'.$parentpath,'_top','/priv','','+1',1)."<font size=\"+1\">$lastitem</font></b></tt><br />"
  .&Apache::lonhtmlcommon::select_recent('construct','recent','this.form.action=this.form.recent.value;this.form.submit()')   .&Apache::lonhtmlcommon::select_recent('construct','recent','this.form.action=this.form.recent.value;this.form.submit()')
  .'</form>'   .'</form>'
Line 4599  table.LC_aboutme_port tr.LC_even_row td Line 4498  table.LC_aboutme_port tr.LC_even_row td
 table.LC_data_table tr.LC_data_table_highlight td {  table.LC_data_table tr.LC_data_table_highlight td {
   background-color: $data_table_darker;    background-color: $data_table_darker;
 }  }
 table.LC_data_table tr td.LC_leftcol_header {  
   background-color: $data_table_head;  
   font-weight: bold;  
 }  
 table.LC_data_table tr.LC_empty_row td,  table.LC_data_table tr.LC_empty_row td,
 table.LC_nested tr.LC_empty_row td {  table.LC_nested tr.LC_empty_row td {
   background-color: #FFFFFF;    background-color: #FFFFFF;
Line 8188  sub construct_course { Line 8083  sub construct_course {
  $outcome .= $clonemsg.$linefeed;   $outcome .= $clonemsg.$linefeed;
  my %oldcenv=&Apache::lonnet::dump('environment',$$crsudom,$$crsunum);   my %oldcenv=&Apache::lonnet::dump('environment',$$crsudom,$$crsunum);
 # Copy all files  # Copy all files
  &Apache::lonclonecourse::copycoursefiles($cloneid,$$courseid);   &Apache::lonclonecourse::copycoursefiles($cloneid,$$courseid,$args->{'datemode'},$args->{'dateshift'});
 # Restore URL  # Restore URL
  $cenv{'url'}=$oldcenv{'url'};   $cenv{'url'}=$oldcenv{'url'};
 # Restore title  # Restore title
  $cenv{'description'}=$oldcenv{'description'};   $cenv{'description'}=$oldcenv{'description'};
   # restore grading mode
    if (defined($oldcenv{'grading'})) {
       $cenv{'grading'}=$oldcenv{'grading'};
    }
 # Mark as cloned  # Mark as cloned
  $cenv{'clonedfrom'}=$cloneid;   $cenv{'clonedfrom'}=$cloneid;
 # Need to clone grading mode   delete($cenv{'default_enrollment_start_date'});
         my %newenv=&Apache::lonnet::get('environment',['grading'],$$crsudom,$$crsunum);   delete($cenv{'default_enrollment_end_date'});
         $cenv{'grading'}=$newenv{'grading'};  
 # Do not clone these environment entries  
         &Apache::lonnet::del('environment',  
                   ['default_enrollment_start_date',  
                    'default_enrollment_end_date',  
                    'question.email',  
                    'policy.email',  
                    'comment.email',  
                    'pch.users.denied',  
                    'plc.users.denied'],  
                    $$crsudom,$$crsunum);  
     }      }
   
 #  #

Removed from v.1.636.2.6  
changed lines
  Added in v.1.637


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