Diff for /loncom/interface/lonsimplepage.pm between versions 1.99 and 1.103

version 1.99, 2012/11/08 21:15:02 version 1.103, 2013/09/17 15:04:30
Line 33  use Apache::Constants qw(:common); Line 33  use Apache::Constants qw(:common);
 use Apache::loncommon;  use Apache::loncommon;
 use Apache::lontemplate;  use Apache::lontemplate;
 use Apache::lonnet;  use Apache::lonnet;
 use Apache::lontexconvert;  use Apache::lonhtmlgateway;
 use Apache::lonfeedback;  
 use Apache::lonlocal;  use Apache::lonlocal;
 use Apache::lonprintout;  use Apache::lonprintout;
 use Apache::lonxml;  use Apache::lonxml;
Line 44  use HTML::Entities(); Line 43  use HTML::Entities();
 use LONCAPA;  use LONCAPA;
   
 sub get_db_name {  sub get_db_name {
     my ($url) = @_;      my ($url,$marker,$cdom,$cnum) = @_;
     my ($udom,$uname,$marker)=(split(m{/},$url))[2,3,4];      my ($udom,$uname,$timemark)=(split(m{/},$url))[2,3,4];
     my $dom = $env{'course.'.$env{'request.course.id'}.'.domain'};      if ($marker eq '') {
     my $crs = $env{'course.'.$env{'request.course.id'}.'.num'};          $marker = $timemark;
       }
       if (($cdom eq '') || ($cnum eq '')) {
           $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'};
           $cnum = $env{'course.'.$env{'request.course.id'}.'.num'};
       }
     my $db_name;      my $db_name;
   
     if ($dom && $crs && ($udom eq $dom) && ($uname eq $crs)) {      if ($cdom && $cnum && ($udom eq $cdom) && ($uname eq $cnum)) {
         $marker =~ s/\W//g;          $marker =~ s/\W//g;
         $db_name = 'grppage_'.$marker;          $db_name = 'grppage_'.$marker;
     } else {      } else {
Line 59  sub get_db_name { Line 62  sub get_db_name {
         $db_name = 'smppage_'.$marker;          $db_name = 'smppage_'.$marker;
     }      }
     return if (!defined($marker));      return if (!defined($marker));
   
     return $db_name;      return $db_name;
 }  }
   
Line 84  sub handler { Line 86  sub handler {
         return OK;          return OK;
     }      }
   
     my $db_name = &get_db_name($r->uri);      my $marker = (split(m{/},$r->uri))[4];
       my $db_name = &get_db_name($r->uri,$marker);
   
     my $dom = $env{'course.'.$env{'request.course.id'}.'.domain'};      my $dom = $env{'course.'.$env{'request.course.id'}.'.domain'};
     my $crs = $env{'course.'.$env{'request.course.id'}.'.num'};      my $crs = $env{'course.'.$env{'request.course.id'}.'.num'};
Line 93  sub handler { Line 96  sub handler {
     my %curr_group = ();      my %curr_group = ();
     my %groupinfo = ();      my %groupinfo = ();
     if ($db_name =~ /^grppage_/) {      if ($db_name =~ /^grppage_/) {
         $group = (split(m{/},$r->uri))[4];          $group = $marker;
         $group =~ s/\W//g;          $group =~ s/\W//g;
         my %curr_groups = &Apache::longroup::coursegroups($dom,$crs,$group);          my %curr_groups = &Apache::longroup::coursegroups($dom,$crs,$group);
         if (!%curr_groups) {          if (!%curr_groups) {
Line 122  sub handler { Line 125  sub handler {
   
 # ------------------------------------------------------------ Get query string  # ------------------------------------------------------------ Get query string
     &Apache::loncommon::get_unprocessed_cgi      &Apache::loncommon::get_unprocessed_cgi
                         ($ENV{'QUERY_STRING'},['forceedit',                          ($ENV{'QUERY_STRING'},['forceedit','todocs',
                                                'register','ref']);                                                 'register','ref']);
 # --------------------------------------------------------------- Force Student  # --------------------------------------------------------------- Force Student
     my ($forceedit,$forcestudent);      my ($forceedit,$forcestudent);
Line 139  sub handler { Line 142  sub handler {
     my %syllabus=&Apache::lonnet::dump($db_name,$dom,$crs);      my %syllabus=&Apache::lonnet::dump($db_name,$dom,$crs);
   
 # --------------------------------------- There is such a user, get environment  # --------------------------------------- There is such a user, get environment
     my ($group_view_perm,$group_edit_perm,$group_home_view,$group_home_edit,      my ($registered,$group_view_perm,$group_edit_perm,$group_home_view,
         $has_group_access);          $group_home_edit,$has_group_access);
     my $brcrum = [];       my $brcrum = [];
     if ($group ne '') {      if ($group eq '') {
           $registered = $env{'form.register'};
       } else {
           unless ($env{'form.ref'} eq 'grouplist') {
               $registered = $env{'form.register'};
           }
         $group_view_perm =          $group_view_perm =
                &Apache::lonnet::allowed('vcg',$env{'request.course.id'}.                 &Apache::lonnet::allowed('vcg',$env{'request.course.id'}.
                ($env{'request.course.sec'}?'/'.$env{'request.course.sec'}:''));                 ($env{'request.course.sec'}?'/'.$env{'request.course.sec'}:''));
Line 157  sub handler { Line 165  sub handler {
             $group_home_edit || &Apache::longroup::check_group_access($group)) {              $group_home_edit || &Apache::longroup::check_group_access($group)) {
             $has_group_access = 1;              $has_group_access = 1;
             if (($env{'form.ref'} eq 'grouplist') && ($target ne 'tex') &&              if (($env{'form.ref'} eq 'grouplist') && ($target ne 'tex') &&
                 (!$env{'form.register'})) {                  (!$registered)) {
                 $brcrum = &grouppage_breadcrumbs($dom,$crs,$group,$group_desc);                  $brcrum = &grouppage_breadcrumbs($dom,$crs,$group,$group_desc);
             }              }
         }          }
     }      }
   
     if ($target ne 'tex') {      if ($target ne 'tex') {
         my $title = 'Simple Course Page';          my $title = ($group eq '')? 'Simple Course Page':'Simple Group Page';
         if ($group ne '') {  
             $title = 'Simple Group Page';  
         }  
         my $start_page =          my $start_page =
         &Apache::loncommon::start_page($title,undef,          &Apache::loncommon::start_page($title,undef,
                        {'domain'         => $dom,                         {'domain'         => $dom,
                         'group'          => $group,                          'group'          => $group,
                         'bread_crumbs'   => $brcrum,                          'bread_crumbs'   => $brcrum,
                         'force_register' => $env{'form.register'},                          'force_register' => $registered,
                        });                          }); 
         $r->print($start_page);          $r->print($start_page);
     }      }
Line 231  sub handler { Line 236  sub handler {
             }              }
             if ($group ne '') {              if ($group ne '') {
                 $syllabus{'uploaded.photourl'}=&Apache::lonnet::userfileupload(                  $syllabus{'uploaded.photourl'}=&Apache::lonnet::userfileupload(
                                               'uploaddoc','coursedoc',"grouppage/$group");                                                'uploaddoc','coursedoc',
                                                 "grouppage/$group");
             } else {              } else {
                 $syllabus{'uploaded.photourl'}=                  $syllabus{'uploaded.photourl'}=
                 &Apache::lonnet::userfileupload('uploaddoc','coursedoc','simplepage');                  &Apache::lonnet::userfileupload('uploaddoc','coursedoc',
                                                   "simplepage/$marker");
             }              }
         }          }
         $syllabus{'uploaded.lastmodified'}=time;          $syllabus{'uploaded.lastmodified'}=time;
Line 251  sub handler { Line 258  sub handler {
         foreach my $syl_field (keys(%syllabusfields)) {          foreach my $syl_field (keys(%syllabusfields)) {
             my $field=$env{'form.'.$syl_field};              my $field=$env{'form.'.$syl_field};
             chomp($field);              chomp($field);
             $field=~s/\s+$//s;              my $gateway = Apache::lonhtmlgateway->new();
             $field=~s/^\s+//s;              $field = $gateway->process_incoming_html($field,1);
             $field=~s/\<br\s*\/*\>$//s;  
             $field=&Apache::lonfeedback::clear_out_html($field,1);  
             $syllabus{$syl_field}=$field;              $syllabus{$syl_field}=$field;
         }          }
         $syllabus{'uploaded.lastmodified'}=time;          $syllabus{'uploaded.lastmodified'}=time;
Line 286  sub handler { Line 291  sub handler {
             if ($env{'form.grade_target'} ne 'tex') {              if ($env{'form.grade_target'} ne 'tex') {
                 #editbox for title                  #editbox for title
                 $r->print('<form method="post" action="" enctype="multipart/form-data">'."\n".                  $r->print('<form method="post" action="" enctype="multipart/form-data">'."\n".
                           '<input type="hidden" register="'.$env{'form.register'}.'" />');                            '<input type="hidden" register="'.$registered.'" />');
  &Apache::lontemplate::print_start_template($r,&mt('Title'),'LC_Box');   &Apache::lontemplate::print_start_template($r,&mt('Title'),'LC_Box');
  $r->print($titletext);   $r->print($titletext);
  $r->print("<br /><div>");   $r->print("<br /><div>");

Removed from v.1.99  
changed lines
  Added in v.1.103


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