Diff for /loncom/publisher/testbankimport.pm between versions 1.26 and 1.32

version 1.26, 2010/11/27 22:43:32 version 1.32, 2011/10/31 01:25:32
Line 1330  sub create_mcq { Line 1330  sub create_mcq {
     my $numfoils = scalar(@{$qstnref}) - 1;       my $numfoils = scalar(@{$qstnref}) - 1; 
     my $datestamp = localtime;      my $datestamp = localtime;
     my $numansrs = scalar(@{$answerref});      my $numansrs = scalar(@{$answerref});
     my $output = '<problem>      my $output = '<problem>';
       if ($qtype eq 'MC') {
           $output .= "\n".'<parameter name="maxtries" type="int_pos" default="2" description="Maximum Number of Tries" />';
       }
       $output .= '
  <startouttext />';   <startouttext />';
     if ($res eq 'application/rtf' || $res eq 'text/html') {      if ($res eq 'application/rtf' || $res eq 'text/html') {
         if ($header ne '') {          if ($header ne '') {
Line 1800  sub print_header { Line 1804  sub print_header {
                                              {'bread_crumbs' => $brcrum,                                               {'bread_crumbs' => $brcrum,
                                               'add_entries' => $loadentries});                                                'add_entries' => $loadentries});
     if (($uname ne $env{'user.name'}) || ($udom ne $env{'user.domain'})) {      if (($uname ne $env{'user.name'}) || ($udom ne $env{'user.domain'})) {
         $output .= '<p class="LC_warning">'          $output .= '<p class="LC_info">'
                  .&mt('Co-Author [_1]',$uname.':'.$udom)                   .&mt('Co-Author [_1]',$uname.':'.$udom)
                  .'</p>';                   .'</p>';
     }      }
Line 1823  sub handler { Line 1827  sub handler {
             $env{'form.filename'};              $env{'form.filename'};
     }      }
     ($uname,$udom)=      ($uname,$udom)=
         &Apache::loncacc::constructaccess($env{'form.filename'},          &Apache::loncacc::constructaccess($env{'form.filename'});
                                           $r->dir_config('lonDefDomain'));      unless (($uname ne '') && ($udom ne '')) {
     unless (($uname) && ($udom)) {  
         $r->log_reason($uname.':'.$udom.' trying to convert testbank file '.          $r->log_reason($uname.':'.$udom.' trying to convert testbank file '.
                        $env{'form.filename'}.' - not authorized',$r->filename);                         $env{'form.filename'}.' - not authorized',$r->filename);
         return HTTP_NOT_ACCEPTABLE;          return HTTP_NOT_ACCEPTABLE;
Line 1849  sub handler { Line 1852  sub handler {
     $r->send_http_header;      $r->send_http_header;
   
     my ($filename,$pathname) = &File::Basename::fileparse($fn);      my ($filename,$pathname) = &File::Basename::fileparse($fn);
     my $webpath = '/priv/'.$uname.$pathname;      my $webpath = '/priv/'.$udom.'/'.$uname.$pathname;
     my $urlpath = '/~'.$uname.$pathname;      my $dirpath = $r->dir_config('lonDocRoot').$webpath;
     my $dirpath = '/home/'.$uname.'/public_html'.$pathname;  
     my ($res,$subdir,$badfile,$textref,$header,$css,$js,%loadentries,@pages,%names);      my ($res,$subdir,$badfile,$textref,$header,$css,$js,%loadentries,@pages,%names);
   
     if ($env{'form.phase'} eq 'three') {      if ($env{'form.phase'} eq 'three') {
Line 1873  sub handler { Line 1875  sub handler {
             }              }
         }          }
         ($res,$badfile,$textref,$header,$css,$js) =           ($res,$badfile,$textref,$header,$css,$js) = 
             &parse_datafile($r,$uname,$filename,$pathname,$dirpath,$urlpath,              &parse_datafile($r,$uname,$filename,$pathname,$dirpath,$webpath,
                             $page_name,$subdir,$env{'form.timestamp'});                              $page_name,$subdir,$env{'form.timestamp'});
         if ($page_name eq 'Welcome') {          if ($page_name eq 'Welcome') {
              &jscript_zero($webpath,\$javascript);               &jscript_zero($webpath,\$javascript);
Line 1906  sub handler { Line 1908  sub handler {
     }      }
   
     $r->print(&print_header($uname,$udom,$javascript,\%loadentries,$title,      $r->print(&print_header($uname,$udom,$javascript,\%loadentries,$title,
               $current_page,\@pages,\%names));                              $current_page,\@pages,\%names));
   
     if ($env{'form.phase'} eq 'three') {      if (($env{'form.phase'} eq 'four') || ($env{'form.phase'} eq 'three')) {
         if ($env{'form.action'} eq 'upload_embedded') {          if ($env{'form.phase'} eq 'four') {
             $r->print(&Apache::lonupload::phasethree($r,$fn,$uname,$udom,'testbank'));              $r->print(&Apache::lonupload::phasefour($r,$fn,$uname,$udom,'testbank'));
               my $current_page = 0; 
               my $js;
               &jscript_zero($webpath,\$js);
               $js = '<script type="text/javascript">'."\n$js\n".'</script>';
               $r->print($js);
               &display_zero($r,$uname,$fn,$current_page,$webpath);
           } elsif ($env{'form.phase'} eq 'three') {
               if ($env{'form.action'} eq 'upload_embedded') {
                   my ($result,$flag) = 
                        &Apache::lonupload::phasethree($r,$fn,$uname,$udom,'testbank');
                   $r->print($result);
                   if ($flag eq 'modify_orightml') {
                       undef($page_name); 
                       $r->print('<form name="testbankForm" method="post" action="/adm/testbank">'.
                                 &page_footer('',$uname,$fn).'</form>');
                   }
               }
         }          }
         if ($badfile) {          if ($badfile) {
             &file_error($r,$uname,$fn,$current_page,$webpath,$res);              &file_error($r,$uname,$fn,$current_page,$webpath,$res);
         } else {                  } else {
             &display_zero ($r,$uname,$fn,$current_page,$webpath) if $page_name eq 'Welcome';              &display_zero ($r,$uname,$fn,$current_page,$webpath) if $page_name eq 'Welcome';
             &display_one ($r,$uname,$fn,$current_page,$textref,$header) if $page_name eq 'Blocks';              &display_one ($r,$uname,$fn,$current_page,$textref,$header) if $page_name eq 'Blocks';
             &display_two ($r,$uname,$fn,$current_page,$textref,$header,$qcount) if $page_name eq 'Format';              &display_two ($r,$uname,$fn,$current_page,$textref,$header,$qcount) if $page_name eq 'Format';
             &display_three ($r,$uname,$fn,$current_page,$textref,$res,$header,$urlpath,$qcount) if $page_name eq 'Target';              &display_three ($r,$uname,$fn,$current_page,$textref,$res,$header,$webpath,$qcount) if $page_name eq 'Target';
             &final_display ($r,$uname,$fn,$current_page,$textref,$res,$header,$css,$js,$webpath,$dirpath,$subdir) if $page_name eq 'Confirmation';              &final_display ($r,$uname,$fn,$current_page,$textref,$res,$header,$css,$js,$webpath,$dirpath,$subdir) if $page_name eq 'Confirmation';
         }          }
     } elsif ($env{'form.phase'} eq 'two') {      } elsif ($env{'form.phase'} eq 'two') {

Removed from v.1.26  
changed lines
  Added in v.1.32


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