Diff for /loncom/interface/lonaboutme.pm between versions 1.111 and 1.131

version 1.111, 2009/03/08 21:49:33 version 1.131, 2009/05/13 14:27:52
Line 144  sub handler { Line 144  sub handler {
     ['forceedit','forcestudent',      ['forceedit','forcestudent',
      'register','popup']);       'register','popup']);
   
 # ----------------------------------------------- Available Portfolio file display   # ----------------------------------------------- Available Portfolio file display
     if (($target ne 'tex') && ($action eq 'portfolio')) {      if (($target ne 'tex') && ($action eq 'portfolio')) {
         &display_portfolio_header($r,$is_course);          &display_portfolio_header($r,$is_course);
         if ((!$is_course) && (!&Apache::lonnet::usertools_access($cnum,$cdom,'portfolio'))) {          if ((!$is_course) && (!&Apache::lonnet::usertools_access($cnum,$cdom,'portfolio'))) {
Line 154  sub handler { Line 154  sub handler {
                       '<li>'.&mt('The domain has been configured to disable, by default, portfolio functionality for all users in the domain.').'</li>'.                        '<li>'.&mt('The domain has been configured to disable, by default, portfolio functionality for all users in the domain.').'</li>'.
                       '</ul>');                        '</ul>');
         } else {          } else {
             my ($blocked,$blocktext) =               my ($blocked,$blocktext) =
                 &Apache::loncommon::blocking_status('port',$cnum,$cdom);                  &Apache::loncommon::blocking_status('port',$cnum,$cdom);
             if (!$blocked) {              if (!$blocked) {
                 &display_portfolio_files($r,$is_course);                  &display_portfolio_files($r,$is_course);
Line 196  sub handler { Line 196  sub handler {
     }      }
   
 #------------Get rights  #------------Get rights
  my %courseenv=&Apache::lonnet::dump('environment',$cdom,$cnum);   my %courseenv=&Apache::lonnet::dump('environment',$cdom,$cnum);
  my %syllabus=&Apache::lonnet::dump('aboutme',$cdom,$cnum);    my %syllabus=&Apache::lonnet::dump('aboutme',$cdom,$cnum);
     my $allowed=0;      my $allowed=0;
   my $privleged=$allowed=(($env{'user.name'} eq $cnum) &&     my $privleged=$allowed=(($env{'user.name'} eq $cnum) &&
        ($env{'user.domain'} eq $cdom));         ($env{'user.domain'} eq $cdom));
        if ($forcestudent or $target eq 'tex') { $allowed=0; }       if ($forcestudent or $target eq 'tex') { $allowed=0; }
    
   
 # --------------------------------------- There is such a user, get environment  # --------------------------------------- There is such a user, get environment
     
     if ($target ne 'tex') {      if ($target ne 'tex') {
  my $rss_link = &Apache::lonrss::rss_link($cnum,$cdom);   my $rss_link = &Apache::lonrss::rss_link($cnum,$cdom);
         my $args = {'function' => $forcestudent,          my $args = {'function' => $forcestudent,
Line 214  sub handler { Line 214  sub handler {
         if ($env{'form.popup'}) {          if ($env{'form.popup'}) {
             $args->{'no_nav_bar'} = 1;              $args->{'no_nav_bar'} = 1;
         }          }
  $args->{'bread_crumbs'} = [{href=>"/adm/fhwfdev/$cnum/aboutme",text=>"Personal Information Page"}];   $args->{'bread_crumbs'} = [{href=>"/adm/$cdom/$cnum/aboutme",text=>"Personal Information Page"}];
  my $start_page =    my $start_page = &Apache::loncommon::start_page('Personal Information Page',$rss_link,$args);
     &Apache::loncommon::start_page("Personal Data",$rss_link,$args);  
  $r->print($start_page);   $r->print($start_page);
           
     }     
   
 #Print Help Text          #Print Privacy Note
 if  ($target ne 'tex') {          if ($allowed) {
  if($allowed){              $r->print('<div class="LC_info">'
  $r->print(&Apache::loncommon::help_open_topic('Uploaded_Templates_TextBoxes',&mt('Help with filling in text boxes')));                      .'<b>'.&mt('Privacy Note:').'</b> '
                       .&mt('The information you submit can be viewed by anybody who is logged into LON-CAPA. Do not provide information that you are not ready to share publicly.')
                       .'</div>'
              );
  }   }
   
   #Print last modified
   
    my $lastmod;
           if (($syllabus{'uploaded.lastmodified'}) || ($allowed)) {
           $lastmod=$syllabus{'uploaded.lastmodified'};
           $lastmod=($lastmod?&Apache::lonlocal::locallocaltime($lastmod):&mt('never'));
    $r->print('<div class="LC_info">');
     $r->print(&mt('Last updated').': '.$lastmod . '');
    $r->print('</div>');
       }
 }  }
   #Print Help Text
    if ($target ne 'tex') {
    if($allowed){
    $r->print(&Apache::loncommon::help_open_topic('Uploaded_Templates_TextBoxes',&mt('Help with filling in text boxes')));
    }
    }
   
 #----------------Print Functions  #----------------Print Functions
  if( $target ne 'tex'){   if ($target ne 'tex') {
  &Apache::lontemplate::print_start_page_functions($r);   $r->print(&Apache::lontemplate::start_functionslist());
       if($allowed){        if ($allowed) {
  my $query_string = &build_query_string({'forcestudent' => '1','popup' => $env{'form.popup'}});   my $query_string = &build_query_string({'forcestudent' => '1','popup' => $env{'form.popup'}});
  &Apache::lontemplate::print_functions_content($r,'<a href="'.$r->uri.$query_string.'">'.&mt('Show Public View').'</a>'.&Apache::loncommon::help_open_topic('Uploaded_Templates_PublicView'));                          $r->print(&Apache::lontemplate::item_functionslist(
                               '<a href="'.$r->uri.$query_string.'">'.&mt('Show Public View').'</a>'
                              .&Apache::loncommon::help_open_topic('Uploaded_Templates_PublicView')));
     }elsif($privleged){      }elsif($privleged){
  my $query_string = &build_query_string({'forceedit' => '1','popup' => $env{'form.popup'}});   my $query_string = &build_query_string({'forceedit' => '1','popup' => $env{'form.popup'}});
  &Apache::lontemplate::print_functions_content($r,'<a href="'.$r->uri.$query_string.'">'. &mt('Edit').'</a>');                          $r->print(&Apache::lontemplate::item_functionslist(
                               '<a href="'.$r->uri.$query_string.'">'. &mt('Edit').'</a>'));
  }   }
  &Apache::lontemplate::print_functions_content($r,&Apache::lontemplate::send_message($r,$cnum,$cdom));                  $r->print(&Apache::lontemplate::item_functionslist(
                       &Apache::lontemplate::send_message($r,$cnum,$cdom)));
   
  if ($env{'request.course.id'} && &Apache::lonnet::allowed('srm',$env{'request.course.id'}) && &in_course($cdom,$cnum)) {   if ($env{'request.course.id'} && &Apache::lonnet::allowed('srm',$env{'request.course.id'}) && &in_course($cdom,$cnum)) {
  if (&Apache::lonnet::allowed('vsa', $env{'request.course.id'}) || &Apache::lonnet::allowed('vsa', $env{'request.course.id'}.'/'.   if (&Apache::lonnet::allowed('vsa', $env{'request.course.id'}) || &Apache::lonnet::allowed('vsa', $env{'request.course.id'}.'/'.
  $env{'request.course.sec'})) {   $env{'request.course.sec'})) {
  &Apache::lontemplate::print_functions_content($r,&Apache::loncommon::track_student_link('View recent activity by this student',                              $r->print(&Apache::lontemplate::item_functionslist(
    $cnum,$cdom).('&nbsp;'x2));                                  &Apache::loncommon::track_student_link('View recent activity by this student',$cnum,$cdom)));
      }       }
      &Apache::lontemplate::print_functions_content($r,&Apache::loncommon::noteswrapper(&mt('Add Records'),$cnum,$cdom));                          if (&Apache::lonnet::allowed('vgr', $env{'request.course.id'}) ||
                               &Apache::lonnet::allowed('vgr', $env{'request.course.id'}.'/'.
                                                        $env{'request.course.sec'})) {
                               $r->print(&Apache::lontemplate::item_functionslist(
                                   &Apache::loncommon::slot_reservations_link('Slot reservation history',$cnum,$cdom)));
                           }
                           $r->print(&Apache::lontemplate::item_functionslist(
                               &Apache::loncommon::noteswrapper(&mt('Add Records'),$cnum,$cdom)));
  }   }
  &Apache::lontemplate::print_end_page_functions($r);          $r->print(&Apache::lontemplate::end_functionslist());
  }     }
 #------Print Headtitle  #------Print Headtitle
  if ($target ne 'tex') {    if ($target ne 'tex') {
  $r->print('<div class="LC_ContentBoxSpecial">');   $r->print('<div class="LC_ContentBoxSpecial">');
  $r->print('<h2 class="LC_hcell">'.&Apache::loncommon::plainname($cnum,$cdom).'</h2>');   $r->print('<h2 class="LC_hcell">'.&Apache::loncommon::plainname($cnum,$cdom).'</h2>');
  $r->print('<blockquote>');   $r->print('<div class="LC_BoxPadding">' );
  if ($courseenv{'nickname'}) {   if ($courseenv{'nickname'}) {
       $r->print('<h2>&quot;'.$courseenv{'nickname'}.'&quot;</h2>');        $r->print('<h2>&quot;'.$courseenv{'nickname'}.'&quot;</h2>');
     }      }
  $r->print('<h3>'.&Apache::lonnet::domain($cdom,'description').'</h3>');   $r->print('<h3>'.&Apache::lonnet::domain($cdom,'description').'</h3>');
  }    }
 else{   else {
  $r->print('\noindent{\large\textbf{'.&Apache::loncommon::plainname($cnum,$cdom).'}}\\\\\\\\');   $r->print('\noindent{\large\textbf{'.&Apache::loncommon::plainname($cnum,$cdom).'}}\\\\\\\\');
  $r->print('\textbf{'.&Apache::lonnet::domain($cdom,'description').'}\\\\');   $r->print('\textbf{'.&Apache::lonnet::domain($cdom,'description').'}\\\\');
 }   }
 # does this user have privileges to post, etc?  # does this user have privileges to post, etc?
   
        
  my $query_string;    my $query_string;
   
        if ($allowed) {            
    $r->print('<p><b>'.&mt('Privacy Note').':</b> '.&mt('The information you submit can be viewed by anybody who is logged into LON-CAPA. Do not provide information that you are not ready to share publicly.'). '</p>');  
  }   
          
   
       if (($env{'form.uploaddoc.filename'}) &&        if (($env{'form.uploaddoc.filename'}) &&
           ($env{'form.storeupl'}) && ($allowed)) {            ($env{'form.storeupl'}) && ($allowed)) {
    if ($env{'form.uploaddoc.filename'}=~/\.(gif|jpg|png|jpeg)$/i) {     if ($env{'form.uploaddoc.filename'}=~/\.(gif|jpg|png|jpeg)$/i) {
Line 305  else{ Line 328  else{
            &Apache::lonnet::put('aboutme',\%syllabus,$cdom,$cnum);             &Apache::lonnet::put('aboutme',\%syllabus,$cdom,$cnum);
        }         }
   
 my $lastmod;  my $image;
 my $image;   
 # ---------------------------------------------------------------- Get syllabus  # ---------------------------------------------------------------- Get syllabus
     if (($syllabus{'uploaded.lastmodified'}) || ($allowed)) {      if (($syllabus{'uploaded.lastmodified'}) || ($allowed)) {
        $lastmod=$syllabus{'uploaded.lastmodified'};  
        $lastmod=($lastmod?&Apache::lonlocal::locallocaltime($lastmod):&mt('never'));  
   $r->print('<br />'.&mt('Last updated').': '.$lastmod);  
   
   
        if ($syllabus{'uploaded.photourl'}) {         if ($syllabus{'uploaded.photourl'}) {
    &Apache::lonnet::allowuploaded('/adm/aboutme',     &Apache::lonnet::allowuploaded('/adm/aboutme',
   $syllabus{'uploaded.photourl'});    $syllabus{'uploaded.photourl'});
   
            #This call is to resize all "Personal Information" images in the LonCapa System. When its done, you can remove this line.             #This call is to resize all "Personal Information" images in the LonCapa System. When its done, you can remove this line.
    &Apache::lonnet::resizeImage(&Apache::lonnet::filelocation('',$syllabus{'uploaded.photourl'}));     &Apache::lonnet::resizeImage(&Apache::lonnet::filelocation('',$syllabus{'uploaded.photourl'}));
    #---End Resize---     #---End Resize---
   
    $image=qq{<img name="userPhoto" src="$syllabus{'uploaded.photourl'} " class="LC_AboutMe_Image" />};     $image=qq{<img name="userPhoto" src="$syllabus{'uploaded.photourl'} " class="LC_AboutMe_Image" />};
      
    if ($target eq 'tex') {     if ($target eq 'tex') {
        $image=&Apache::lonxml::xmlparse($r,'tex',$image);         $image=&Apache::lonxml::xmlparse($r,'tex',$image);
    }     }
   
        }         }
   
        if ($allowed) {         if ($allowed) {
            $r->print(             $r->print(
  '<form method="post" enctype="multipart/form-data">'.   '<form method="post" enctype="multipart/form-data">'.
Line 337  my $image; Line 354  my $image;
          '<input type="file" name="uploaddoc" size="50" />'.           '<input type="file" name="uploaddoc" size="50" />'.
          '<input type="submit" name="storeupl" value="'.&mt('Upload').'" />'.           '<input type="submit" name="storeupl" value="'.&mt('Upload').'" />'.
          '<input type="hidden" name="popup" value="'.$env{'form.popup'}.'" />'.           '<input type="hidden" name="popup" value="'.$env{'form.popup'}.'" />'.
  '</form><form method="post"><input type="submit" name="delupl" value="'.&mt('Delete Photo').'" /> </form><p>   '</form>');
 ');        if ($syllabus{'uploaded.photourl'}) {
                 $r->print('<form method="post"><input type="submit" name="delupl" value="'.&mt('Delete Photo').'" /> </form>')
             }
             $r->print('<p>');
        }         }
   
  if($allowed) {   if($allowed) {
Line 347  my $image; Line 366  my $image;
  }   }
   
  if($target ne 'tex') #print Image   if($target ne 'tex') #print Image
       {        {
  &Apache::lontemplate::start_ContentBox($r);   &Apache::lontemplate::start_ContentBox($r);
  &Apache::lontemplate::end_ContentBox($r);   &Apache::lontemplate::end_ContentBox($r);
  $r->print($image);   $r->print($image);
   
  }#End Print Image   }#End Print Image
   
  #Print Content eg. Contactinfo aboutme,...   #Print Content eg. Contactinfo aboutme,...
  &Apache::lontemplate::print_aboutme_content_template($r,$allowed,$target,\%syllabusfields,\%syllabus);   &Apache::lontemplate::print_aboutme_content_template($r,$allowed,$target,\%syllabusfields,\%syllabus);
         #End Print Content          #End Print Content
   
        if($target ne 'tex')#Begin Print RSS and portfiles         if($target ne 'tex') { #Begin Print RSS and portfiles
        {  
  &print_portfiles_link($r,$is_course);   &print_portfiles_link($r,$is_course);
  if(&Apache::lonrss::advertisefeeds($cnum,$cdom) ne ''){   if (&Apache::lonrss::advertisefeeds($cnum,$cdom) ne '') {
  &Apache::lontemplate::print_start_template($r,'RSS Feeds and Blogs','LC_ContentBoxSpecial');   &Apache::lontemplate::print_start_template($r,'RSS Feeds and Blogs','LC_ContentBoxSpecial');
  $r->print(&Apache::lonrss::advertisefeeds($cnum,$cdom));   $r->print(&Apache::lonrss::advertisefeeds($cnum,$cdom));
  &Apache::lontemplate::print_end_template($r);   &Apache::lontemplate::print_end_template($r);
  }   }
   
        } #End  Print RSS and portfiles         } #End  Print RSS and portfiles
   
          
        if ($allowed) {         if ($allowed) {
            if ($env{'form.popup'}) {             if ($env{'form.popup'}) {
                $r->print('<input type="hidden" name="popup" value="'.                 $r->print('<input type="hidden" name="popup" value="'.
Line 379  my $image; Line 397  my $image;
        }         }
        if ($target ne 'tex') {$r->print('<br />');} else {$r->print('\\\\');}         if ($target ne 'tex') {$r->print('<br />');} else {$r->print('\\\\');}
     } else {      } else {
  # &Apache::lontemplate::send_message($r,$cnum,$cdom);  
        $r->print('<p>'.&mt('No personal information provided').'.</p>');         $r->print('<p>'.&mt('No personal information provided').'.</p>');
     }      }
     if($target ne 'tex'){  
  #$r->print('</blockquote>');  
     #$r->print('</div>');  
  }  
   
     if ($env{'request.course.id'}      if ($env{'request.course.id'}
  && &Apache::lonnet::allowed('srm',$env{'request.course.id'})   && &Apache::lonnet::allowed('srm',$env{'request.course.id'})
  && &in_course($cdom,$cnum)) {   && &in_course($cdom,$cnum)) {
  if ($target ne 'tex') {      if ($target ne 'tex') {
    &Apache::lontemplate::print_start_template($r,&mt('User Notes, Records of Face-To-Face Discussions, and Critical Messages in Course').' '.&mt('Shared by course faculty and staff').&Apache::loncommon::help_open_topic("Course_Face_To_Face_Records,Course_Critical_Message"),'LC_ContentBoxSpecial');     $r->print('<a name="coursecomment" />');
    &Apache::lonmsgdisplay::disfacetoface($r,$cnum,$cdom);     &Apache::lontemplate::print_start_template($r,&mt('User Notes, Records of Face-To-Face Discussions, and Critical Messages in Course'),'LC_ContentBoxSpecial');
      $r->print('<span class="LC_info">');
      $r->print(&mt('Shared by course faculty and staff').&Apache::loncommon::help_open_topic("Course_Face_To_Face_Records,Course_Critical_Message"));
    $r->print('</span> <p>');
              &Apache::lonmsgdisplay::disfacetoface($r,$cnum,$cdom);
      $r->print('</p>');
    &Apache::lontemplate::print_end_template($r);     &Apache::lontemplate::print_end_template($r);
       
  } else {   } else {
     $r->print('\\\\\textbf{'.&mt('User Notes, Records of Face-To-Face Discussions, and Critical Messages in Course').'}\\\\'.&mt('Shared by course faculty and staff').'\\\\\\\\');      $r->print('\\\\\textbf{'.&mt('User Notes, Records of Face-To-Face Discussions, and Critical Messages in Course').'}\\\\'.&mt('Shared by course faculty and staff').'\\\\\\\\');
     &Apache::lonmsgdisplay::disfacetoface($r,$cnum,$cdom);      &Apache::lonmsgdisplay::disfacetoface($r,$cnum,$cdom);
  }   }
     }      }
     $r->print('</blockquote>');  
     $r->print('</div>');  
     if ($target ne 'tex') {      if ($target ne 'tex') {
    $r->print('</div>');
       $r->print('</div>');
         if ($env{'form.popup'}) {          if ($env{'form.popup'}) {
             $r->print('<p><a href="javascript:window.close()">'.&mt('Close window').'</a>');              $r->print('<p><a href="javascript:window.close()">'.&mt('Close window').'</a>');
         }          }
Line 411  my $image; Line 429  my $image;
  $r->print('\end{document}');   $r->print('\end{document}');
     }      }
   
     
   
     return OK;      return OK;
 }  }
   
Line 461  sub print_portfiles_link { Line 479  sub print_portfiles_link {
     my $query_string = &build_query_string();      my $query_string = &build_query_string();
     my $output;      my $output;
     my %lt = &Apache::lonlocal::texthash(      my %lt = &Apache::lonlocal::texthash(
                          vpfi => 'Viewable portfolio files',          'vpfi' => 'Viewable portfolio files',
                          vgpf => 'Viewable group portfolio files',          'vgpf' => 'Viewable group portfolio files',
                          difl => 'Display file listing',          'difl' => 'Display file listing',
              );                           );
     if ($filecounts->{'both'} > 0) {      if ($filecounts->{'both'} > 0) {
  $output = '<div class="LC_ContentBoxSpecial"><h4 class="LC_hcell">';   $output = '<div class="LC_ContentBoxSpecial"><h4 class="LC_hcell">';
  $output .= ($is_course?$lt{'vgpf'}:$lt{'vpfi'}).'</h4>';   $output .= ($is_course?$lt{'vgpf'}:$lt{'vpfi'}).'</h4><div class="LC_BoxPadding">';
           
  #$output = '<h4>'.($is_course?$lt{'vgpf'}:$lt{'vpfi'}).'</h4>';   #$output = '<h4>'.($is_course?$lt{'vgpf'}:$lt{'vpfi'}).'</h4>';
         $output .= '<a href="/adm/'.$cdom.'/'.$cnum.'/aboutme/portfolio'.          $output .= '<a href="/adm/'.$cdom.'/'.$cnum.'/aboutme/portfolio'.
                    $query_string.'">'.$lt{'difl'}.                     $query_string.'">'.$lt{'difl'}.
Line 494  sub print_portfiles_link { Line 512  sub print_portfiles_link {
         }          }
         $output .= '</ul>';          $output .= '</ul>';
  $output .='</p>';   $output .='</p>';
  $output .='</div>';   $output .='</div></div>';
     }      }
     $r->print($output);      $r->print($output);
     return;      return;
Line 503  sub print_portfiles_link { Line 521  sub print_portfiles_link {
 sub build_query_string {  sub build_query_string {
     my ($new_items) = @_;      my ($new_items) = @_;
     my $query_string;      my $query_string;
     my @formelements = ('register');       my @formelements = ('register');
     my $new = 0;      my $new = 0;
     if (ref($new_items) eq 'HASH') {      if (ref($new_items) eq 'HASH') {
         $new = 1;          $new = 1;
         if (!defined($new_items->{'forceedit'}) &&           if (!defined($new_items->{'forceedit'}) &&
             !defined($new_items->{'forcestudent'})) {              !defined($new_items->{'forcestudent'})) {
             push(@formelements,('forceedit','forcestudent'));              push(@formelements,('forceedit','forcestudent'));
         }          }
Line 540  sub display_portfolio_header { Line 558  sub display_portfolio_header {
   
     my $output;      my $output;
     if ($is_course) {      if ($is_course) {
         $output =           $output =
             &Apache::loncommon::start_page('Viewable group portfolio files',undef,              &Apache::loncommon::start_page('Viewable group portfolio files',undef,
                                             {'function' => $forcestudent,                                              {'function' => $forcestudent,
                                              'domain'   => $cdom,});                                               'domain'   => $cdom,});
Line 570  sub display_portfolio_header { Line 588  sub display_portfolio_header {
 sub display_portfolio_files {  sub display_portfolio_files {
     my ($r,$is_course) = @_;      my ($r,$is_course) = @_;
     my ($cdom,$cnum,$name) = &aboutme_info($r,$is_course);      my ($cdom,$cnum,$name) = &aboutme_info($r,$is_course);
     my %lt = ( withoutpass => 'passphrase not required',      my %lt = &Apache::lonlocal::texthash(
        withpass    => 'passphrase protected',          'withoutpass' => 'passphrase not required',
        both        => 'all access types ',);          'withpass'    => 'passphrase protected',
     %lt = &Apache::lonlocal::texthash(%lt);          'both'        => 'all access types ',
       );
   
     my $portaccess = 'withoutpass';      my $portaccess = 'withoutpass';
     if (exists($env{'form.portaccess'})) {      if (exists($env{'form.portaccess'})) {
Line 620  sub portfolio_files { Line 639  sub portfolio_files {
                      };                       };
     my $current_permissions =      my $current_permissions =
  &Apache::lonnet::get_portfile_permissions($cdom,$cnum);   &Apache::lonnet::get_portfile_permissions($cdom,$cnum);
     my %access_controls =       my %access_controls =
  &Apache::lonnet::get_access_controls($current_permissions);   &Apache::lonnet::get_access_controls($current_permissions);
     my $portaccess;      my $portaccess;
     if ($mode eq 'showlink') {      if ($mode eq 'showlink') {
Line 637  sub portfolio_files { Line 656  sub portfolio_files {
         my %files_by_group;          my %files_by_group;
         foreach my $filename (sort(keys(%access_controls))) {          foreach my $filename (sort(keys(%access_controls))) {
             my ($group,$path) = split('/',$filename,2);              my ($group,$path) = split('/',$filename,2);
             $files_by_group{$group}{$path} = $access_controls{$filename};               $files_by_group{$group}{$path} = $access_controls{$filename};
         }          }
         foreach my $group (sort(keys(%files_by_group))) {          foreach my $group (sort(keys(%files_by_group))) {
             my %fileshash;              my %fileshash;
Line 661  sub portfolio_files { Line 680  sub portfolio_files {
         } else {          } else {
             my $access_text;              my $access_text;
             if (ref($lt) eq 'HASH') {              if (ref($lt) eq 'HASH') {
                 $access_text = $lt->{$portaccess};                     $access_text = $lt->{$portaccess};
             }              }
             $r->print(&mt('There are no available files of the specified access type: [_1]',$access_text));              $r->print(&mt('There are no available files of the specified access type: [_1]',$access_text));
         }          }
Line 669  sub portfolio_files { Line 688  sub portfolio_files {
     return $filecounts;      return $filecounts;
 }  }
   
 {   
     my $count=0;  
     sub portfolio_table_start {  
  $count=0;  
  return '<table class="LC_aboutme_port">';  
     }  
     sub portfolio_row_start {  
  $count++;  
  my $class = ($count%2)?'LC_odd_row'  
                       :'LC_even_row';  
  return '<tr class="'.$class.'">';  
     }  
 }  
   
 sub build_hierarchy {  sub build_hierarchy {
     my ($r,$cdom,$cnum,$portaccess,$is_course,$filecounts,$mode,$access_info,      my ($r,$cdom,$cnum,$portaccess,$is_course,$filecounts,$mode,$access_info,
         $allfileshash,$group) = @_;          $allfileshash,$group) = @_;
Line 727  sub build_hierarchy { Line 732  sub build_hierarchy {
     my $output;      my $output;
     if ($mode eq 'listfiles') {      if ($mode eq 'listfiles') {
         if ($filecounts->{'both'} > 0) {          if ($filecounts->{'both'} > 0) {
             $output = &portfolio_table_start();              $output = &Apache::loncommon::start_data_table();
             $output .= &parse_directory($r,0,$allfileshash,'',$is_course,              $output .= &parse_directory($r,0,$allfileshash,'',$is_course,
                                         $group);                                          $group);
             $output .= '</table>';              $output .= &Apache::loncommon::end_data_table();
         }          }
     }      }
     return $output;      return $output;
Line 749  sub parse_directory { Line 754  sub parse_directory {
     ((split('&',$_,2))[0],1)      ((split('&',$_,2))[0],1)
  } &Apache::lonnet::dirlist($portfolio_root.$path,$cdom,$cnum,$getpropath);   } &Apache::lonnet::dirlist($portfolio_root.$path,$cdom,$cnum,$getpropath);
     foreach my $item (sort(keys(%{$currhash}))) {      foreach my $item (sort(keys(%{$currhash}))) {
         $output .= &portfolio_row_start();          $output .= &Apache::loncommon::start_data_table_row();
         $output .= '<td style="padding-left: '.($depth*25).'px">';          $output .= '<td style="padding-left: '.($depth*25).'px">';
         if (ref($currhash->{$item}) eq 'HASH') {          if (ref($currhash->{$item}) eq 'HASH') {
             my $title=&HTML::Entities::encode($item,'<>&"');              my $title=&HTML::Entities::encode($item,'<>&"');
             $output .= '<img src="'.&Apache::loncommon::lonhttpdurl("/adm/lonIcons/navmap.folder.open.gif").'" alt="'.&mt('Folder').' '.$title.'" class="LC_icon" />&nbsp;'.$title;              $output .= '<img src="'.&Apache::loncommon::lonhttpdurl("/adm/lonIcons/navmap.folder.open.gif").'" alt="'.&mt('Folder').' '.$title.'" class="LC_icon" />&nbsp;'.$title;
     $output .= '</td><td></td></tr>';      $output .= '</td><td>&nbsp;</td>'
                         .&Apache::loncommon::end_data_table_row();
             $output .= &parse_directory($r,$depth,$currhash->{$item},              $output .= &parse_directory($r,$depth,$currhash->{$item},
  $path.'/'.$item,$is_course,$group);   $path.'/'.$item,$is_course,$group);
         } else {          } else {
     my $file_name;       my $file_name;
     if ($currhash->{$item} =~ m|/([^/]+)$|) {      if ($currhash->{$item} =~ m|/([^/]+)$|) {
  $file_name = $1;   $file_name = $1;
     } else {      } else {
Line 769  sub parse_directory { Line 775  sub parse_directory {
             if ($is_course) {              if ($is_course) {
                 $url = '/uploaded/'.$cdom.'/'.$cnum.'/groups/'.$group.                  $url = '/uploaded/'.$cdom.'/'.$cnum.'/groups/'.$group.
                        '/portfolio/'.$currhash->{$item};                         '/portfolio/'.$currhash->{$item};
             } else {               } else {
         $url = '/uploaded/'.$cdom.'/'.$cnum.'/portfolio/'.          $url = '/uploaded/'.$cdom.'/'.$cnum.'/portfolio/'.
        $currhash->{$item};         $currhash->{$item};
             }              }
Line 793  sub parse_directory { Line 799  sub parse_directory {
  &Apache::loncommon::lonhttpdurl('/res/adm/pages/catalog.gif').   &Apache::loncommon::lonhttpdurl('/res/adm/pages/catalog.gif').
  '" class="LC_icon" /></a>';   '" class="LC_icon" /></a>';
     }      }
     $output .= '</td></tr>';      $output .= '</td>'
                         .&Apache::loncommon::end_data_table_row();
         }          }
     }      }
     return $output;      return $output;
Line 814  sub aboutme_access { Line 821  sub aboutme_access {
         $cdom = $coursehash{'domain'};          $cdom = $coursehash{'domain'};
         $cnum = $coursehash{'cnum'};          $cnum = $coursehash{'cnum'};
     }      }
     if ((&Apache::lonnet::allowed('srm',$privcheck)) ||       if ((&Apache::lonnet::allowed('srm',$privcheck)) ||
         (&Apache::lonnet::allowed('dff',$privcheck))) {          (&Apache::lonnet::allowed('dff',$privcheck))) {
         if (&in_course($uname,$udom,$cnum,$cdom)) {          if (&in_course($uname,$udom,$cnum,$cdom)) {
             return 1;              return 1;

Removed from v.1.111  
changed lines
  Added in v.1.131


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>
500 Internal Server Error

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator at root@localhost to inform them of the time this error occurred, and the actions you performed just before this error.

More information about this error may be available in the server error log.