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>"); |