Diff for /loncom/interface/lonaboutme.pm between versions 1.2 and 1.37

version 1.2, 2002/08/27 20:29:54 version 1.37, 2005/04/07 06:56:22
Line 33  use Apache::Constants qw(:common); Line 33  use Apache::Constants qw(:common);
 use Apache::loncommon;  use Apache::loncommon;
 use Apache::lonnet;  use Apache::lonnet;
 use Apache::lontexconvert;  use Apache::lontexconvert;
   use Apache::lonfeedback;
   use Apache::lonlocal;
   
 sub handler {  sub handler {
     my $r = shift;      my $r = shift;
     $r->content_type('text/html');      &Apache::loncommon::content_type($r,'text/html');
     $r->send_http_header;      $r->send_http_header;
     return OK if $r->header_only;      return OK if $r->header_only;
       my $target=$env{'form.grade_target'};
 # ------------------------------------------------------------ Print the screen  # ------------------------------------------------------------ Print the screen
     $r->print(<<ENDDOCUMENT);      if ($target ne 'tex') {
 <html>   my $html=&Apache::lonxml::xmlbegin();
    $r->print(<<ENDDOCUMENT);
   $html
 <head>  <head>
 <title>The LearningOnline Network with CAPA</title>  <title>The LearningOnline Network with CAPA</title>
 </head>  
 ENDDOCUMENT  ENDDOCUMENT
       } else {
    $r->print(&Apache::lonprintout::print_latex_header($env{'form.latex_type'}));
       }
     my (undef,undef,$cdom,$cnum)=split(/\//,$r->uri);      my (undef,undef,$cdom,$cnum)=split(/\//,$r->uri);
 # Is this even a user?  # Is this even a user?
     if (&Apache::lonnet::homeserver($cnum,$cdom) eq 'no_host') {      if (&Apache::lonnet::homeserver($cnum,$cdom) eq 'no_host') {
  $r->print('<body>No user information available</body>');   $r->print('</head><body>'.
     &mt('No user information available').'</body></html>');
         return OK;          return OK;
     }      }
 # --------------------------------------------------------- The syllabus fields  # --------------------------------------------------------- The syllabus fields
     my %syllabusfields=(      my %syllabusfields=&Apache::lonlocal::texthash(
        'aaa_instructorinfo' => 'Instructor Information',         'aaa_contactinfo'   => 'Contact Information',
        'bbb_description'    => 'Course Description',         'bbb_aboutme'       => 'About Me',
        'ccc_prereq'         => 'Prerequisites',         'ccc_webreferences' => 'Web References');
        'ddd_officehours'    => 'Office Hours',  
        'eee_helproom'       => 'Helproom Hours',  
        'fff_examinfo'       => 'Exam Information',  
        'ggg_grading'        => 'Grading Information',  
        'hhh_readings'       => 'Readings');  
   
 # --------------------------------------------------------------- Force Student  # ------------------------------------------------------------ Get Query String
     &Apache::loncommon::get_unprocessed_cgi      &Apache::loncommon::get_unprocessed_cgi
                                        ($ENV{'QUERY_STRING'},['forcestudent']);                              ($ENV{'QUERY_STRING'},['forcestudent','register']);
   # ----------------------------------------------------- Force menu registration
       my $addentries='';
       if ($env{'form.register'}) {
          $addentries=' onLoad="'.&Apache::lonmenu::loadevents().
      '" onUnload="'.&Apache::lonmenu::unloadevents().'"';
          $r->print(&Apache::lonmenu::registerurl(1));
       }
   # --------------------------------------------------------------- Force Student
     my $forcestudent='';      my $forcestudent='';
     if ($ENV{'form.forcestudent'}) { $forcestudent='student'; };      if ($env{'form.forcestudent'}) { $forcestudent='student'; };
                 
 # --------------------------------------- There is such a user, get environment  # --------------------------------------- There is such a user, get environment
     my %courseenv=&Apache::lonnet::dump('environment',$cdom,$cnum);      my %courseenv=&Apache::lonnet::dump('environment',$cdom,$cnum);
     $r->print(&Apache::loncommon::bodytag      if ($target ne 'tex') {
                            ("Personal Information",$forcestudent,'','',$cdom));   $r->print('</head>'.&Apache::loncommon::bodytag
     $r->print('<h1>'.&Apache::loncommon::plainname($cnum,$cdom).'</h1><h3>'.                    ("Personal Information",$forcestudent,$addentries,'',$cdom,
               $Apache::lonnet::domaindescription{$cdom}.'</h3>');                     $env{'form.register'}));
    $r->print('<h1>'.&Apache::loncommon::plainname($cnum,$cdom).'</h1>');
       } else {
    $r->print('\noindent{\large\textbf{'.&Apache::loncommon::plainname($cnum,$cdom).'}}\\\\\\\\');
       }
       if ($courseenv{'nickname'}) {
          $r->print(
            '<h2>&quot;'.$courseenv{'nickname'}.
            '&quot;</h2>');
       }
       if ($target ne 'tex') {
    $r->print('<h3>'.$Apache::lonnet::domaindescription{$cdom}.'</h3>'.
     '<p>'.&Apache::loncommon::messagewrapper('Send me a message',$cnum,$cdom).'</p>');
       } else {
    $r->print('\textbf{'.$Apache::lonnet::domaindescription{$cdom}.'}\\\\');
       }
     my %syllabus=&Apache::lonnet::dump('aboutme',$cdom,$cnum);      my %syllabus=&Apache::lonnet::dump('aboutme',$cdom,$cnum);
     my $allowed=0;      my $allowed=0;
   
 # does this user have privileges to post, etc?  # does this user have privileges to post, etc?
   
        $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) { $allowed=0; }         if ($forcestudent or $target eq 'tex') { $allowed=0; }
     
        if ($allowed) {         if ($allowed) {
           $r->print(     $r->print('<p><b>'.&mt('Privacy Note').':</b> '.
   '<p><a href="'.$r->uri.'?forcestudent=1">Show Student View</a></p>');       &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 (($allowed) && ($ENV{'form.storesyl'})) {       &Apache::loncommon::help_open_topic('Uploaded_Templates_TextBoxes','Help with filling in text boxes').'</p><p><a href="'.$r->uri.'?forcestudent=1">Show Public View</a>'.
        &Apache::loncommon::help_open_topic('Uploaded_Templates_PublicView').'</p>');
          } elsif ($privleged && $target ne 'tex') {
      $r->print('<p><a href="'.$r->uri.'?forceedit=1"><font size="+1">'.
        &mt('Edit').'</font></a></p>');
          }
         if (($env{'form.uploaddoc.filename'}) &&
             ($env{'form.storeupl'}) && ($allowed)) {
      if ($env{'form.uploaddoc.filename'}=~/\.(gif|jpg|png|jpeg)$/i) {
         if ($syllabus{'uploaded.photourl'}) {
     &Apache::lonnet::removeuploadedurl($syllabus{'uploaded.photourl'});
         }
         $syllabus{'uploaded.photourl'}=
                    &Apache::lonnet::userfileupload('uploaddoc',undef,'aboutme');
      }
             $syllabus{'uploaded.lastmodified'}=time;
             &Apache::lonnet::put('aboutme',\%syllabus,$cdom,$cnum);
          }
       if ($allowed && $env{'form.delupl'}) {
    if ($syllabus{'uploaded.photourl'}) {
       &Apache::lonnet::removeuploadedurl($syllabus{'uploaded.photourl'});
       delete($syllabus{'uploaded.photourl'});
       &Apache::lonnet::del('aboutme',['uploaded.photourl'],$cdom,$cnum);
    }
       }
          if (($allowed) && ($env{'form.storesyl'})) {
    foreach (keys %syllabusfields) {     foreach (keys %syllabusfields) {
                my $field=$ENV{'form.'.$_};                 my $field=$env{'form.'.$_};
                $field=~s/\s+$//s;                 $field=~s/\s+$//s;
                $field=~s/\</\&lt\;/g;                 $field=&Apache::lonfeedback::clear_out_html($field,
                $field=~s/\>/\&gt\;/g;                                                             $env{'user.adv'});
        if ($field) {         $syllabus{$_}=$field;
    $syllabus{$_}=$field;  
                } else {  
                    delete $syllabus{$_};  
                }  
            }             }
            $syllabus{'uploaded.lastmodified'}=time;             $syllabus{'uploaded.lastmodified'}=time;
            &Apache::lonnet::put('aboutme',\%syllabus,$cdom,$cnum);             &Apache::lonnet::put('aboutme',\%syllabus,$cdom,$cnum);
Line 107  ENDDOCUMENT Line 153  ENDDOCUMENT
   
 # ---------------------------------------------------------------- Get syllabus  # ---------------------------------------------------------------- Get syllabus
     if (($syllabus{'uploaded.lastmodified'}) || ($allowed)) {      if (($syllabus{'uploaded.lastmodified'}) || ($allowed)) {
        $r->print('Last updated:'.         my $lastmod=$syllabus{'uploaded.lastmodified'};
                      localtime($syllabus{'uploaded.lastmodified'}));         $lastmod=($lastmod?&Apache::lonlocal::locallocaltime($lastmod):&mt('never'));
          $r->print(&mt('Last updated').': '.$lastmod);
          if ($syllabus{'uploaded.photourl'}) {
      &Apache::lonnet::allowuploaded('/adm/aboutme',
     $syllabus{'uploaded.photourl'});
      my $image=
                  qq{<img src="$syllabus{'uploaded.photourl'}" align="right" />};
      if ($target eq 'tex') {
          $image=&Apache::lonxml::xmlparse($r,'tex',$image);
      }
      $r->print($image);
          }
        if ($allowed) {         if ($allowed) {
    $r->print('<form method="post">');             $r->print(
    '<form method="post">
                  <input type="submit" name="delupl" value="Delete Photo" />
             </form>'.
    '<form method="post" enctype="multipart/form-data">'.
            '<h3>'.&mt('Upload a Photo').'</h3>'.
            '<input type="file" name="uploaddoc" size="50">'.
            '<input type="submit" name="storeupl" value="Upload">'.
    '</form><form method="post">');
   
        }         }
        foreach (sort keys %syllabusfields) {         foreach (sort keys %syllabusfields) {
           if (($syllabus{$_}) || ($allowed)) {            if (($syllabus{$_}) || ($allowed)) {
Line 118  ENDDOCUMENT Line 184  ENDDOCUMENT
               $message=~s/\n/\<br \/\>/g;                $message=~s/\n/\<br \/\>/g;
               $message                $message
              =~s/(http\:\/\/[^\s]+)/\<a href=\"$1\"\>\<tt\>$1\<\/tt\>\<\/a\>/g;               =~s/(http\:\/\/[^\s]+)/\<a href=\"$1\"\>\<tt\>$1\<\/tt\>\<\/a\>/g;
         if ($allowed) {
     $message=&Apache::lonspeller::markeduptext($message);
         }
       $message=&Apache::lontexconvert::msgtexconverted($message);        $message=&Apache::lontexconvert::msgtexconverted($message);
               $r->print('<h3>'.$syllabusfields{$_}.'</h3><blockquote>'.        if ($target ne 'tex') {
                         $message.'</blockquote>');    $r->print('<h3>'.$syllabusfields{$_}.'</h3><blockquote>'.
                               $message.'</blockquote>');
         } else {
        $r->print('\\\\\textbf{'.$syllabusfields{$_}.'}\\\\'.
          &Apache::lonxml::xmlparse($r,'tex',$message).'\\\\');
         }
               if ($allowed) {                if ($allowed) {
                  $r->print('<br /><textarea cols="80" rows="6" name="'.$_.'">'.                   $r->print('<br /><textarea cols="80" rows="6" name="'.$_.'">'.
    $syllabus{$_}.     $syllabus{$_}.
            '</textarea><input type="submit" name="storesyl" value="Store" />');             '</textarea><input type="submit" name="storesyl" value="'.
      &mt('Store').'" />');
       }        }
   }    }
        }         }
        if ($allowed) {         if ($allowed) {
    $r->print('</form>');     $r->print('</form>');
        }         }
        $r->print('</p>');         if ($target ne 'tex') {$r->print('</p>');} else {$r->print('\\\\');}
     } else {      } else {
        $r->print('<p>No syllabus information provided.</p>');         $r->print('<p>'.&mt('No personal information provided').'.</p>');
       }
       if ($env{'request.course.id'}) {
    if (&Apache::lonnet::allowed('srm',$env{'request.course.id'})) {
       if ($target ne 'tex') {
    $r->print('<a name="coursecomment" />');
    $r->print('<hr /><h3>'.
                             &mt('User Notes, Records of Face-To-Face Discussions, and Critical Messages in Course').'</h3>'.
                             &mt('Shared by course faculty and staff').
                             &Apache::loncommon::help_open_topic("Course_Face_To_Face_Records,Course_Critical_Message").
   '<br />');
                   &Apache::lonmsg::disfacetoface($r,$cnum,$cdom);
                   $r->print('<hr />');
                   if (&Apache::lonnet::allowed('vsa',
                                                $env{'request.course.id'}) ||
                       &Apache::lonnet::allowed('vsa',
                                                $env{'request.course.id'}.'/'.
                                                $env{'request.course.sec'})) {
                       $r->print(&Apache::loncommon::track_student_link
                                 ('View recent activity by this student',
                                  $cnum,$cdom).('&nbsp;'x2));
                   }
                   $r->print(&Apache::loncommon::noteswrapper('Add Records',$cnum,$cdom));
       } 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').'\\\\\\\\');
    &Apache::lonmsg::disfacetoface($r,$cnum,$cdom);
       }
           }
     }      }
     $r->print('</body></html>');      if ($target ne 'tex') {$r->print('</body></html>');} else {$r->print('\end{document}');}
     return OK;      return OK;
 }   } 
   

Removed from v.1.2  
changed lines
  Added in v.1.37


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.