version 1.58, 2006/07/03 03:11:07
|
version 1.66, 2007/03/02 23:17:58
|
Line 37 use Apache::lonnavmaps();
|
Line 37 use Apache::lonnavmaps();
|
use Apache::lonrss(); |
use Apache::lonrss(); |
use Apache::lonnet; |
use Apache::lonnet; |
use HTML::Entities(); |
use HTML::Entities(); |
|
use LONCAPA qw(:match); |
|
|
my %todayhash; |
my %todayhash; |
my %showedcheck; |
my %showedcheck; |
Line 77 sub readcalendar {
|
Line 78 sub readcalendar {
|
my %returnhash=(); |
my %returnhash=(); |
foreach my $item (keys(%thiscal)) { |
foreach my $item (keys(%thiscal)) { |
unless (($item=~/^error\:/) || ($thiscal{$item}=~/^error\:/)) { |
unless (($item=~/^error\:/) || ($thiscal{$item}=~/^error\:/)) { |
$returnhash{$courseid.'@'.$item}=$thiscal{$item}; |
my ($start,$end)=split('_',$item); |
|
$returnhash{join("\0",$courseid,$start,$end)}=$thiscal{$item}; |
} |
} |
} |
} |
|
my $can_see_hidden = ($env{'request.role.adv'} && |
return %returnhash if ($courseid ne $env{'request.course.id'}); |
($courseid eq $env{'request.course.id'})); |
|
|
my $can_see_hidden = $env{'request.role.adv'}; |
my $navmap; |
my $navmap;# = Apache::lonnavmaps::navmap->new(); |
if ($courseid eq $env{'request.course.id'}) { |
|
$navmap = Apache::lonnavmaps::navmap->new(); |
|
} |
my %resourcedata= |
my %resourcedata= |
&Apache::lonnet::dump('resourcedata',$coursedom,$coursenum); |
&Apache::lonnet::get_courseresdata($coursenum,$coursedom); |
foreach my $thiskey (sort keys %resourcedata) { |
foreach my $thiskey (sort keys %resourcedata) { |
if ($resourcedata{$thiskey.'.type'}=~/^date/) { |
if ($resourcedata{$thiskey.'.type'}=~/^date/) { |
my ($course,$middle,$part,$name)= |
my ($course,$middle,$part,$name)= |
($thiskey=~/^(\w+)\.(?:(.+)\.)*([\w\s]+)\.(\w+)$/); |
($thiskey=~/^($match_courseid)\.(?:(.+)\.)*([\w\s]+)\.(\w+)$/); |
my %data = ( 'section' => &mt('All Students')); |
my %data = ( 'section' => &mt('All Students')); |
if ($middle=~/^\[(.*)\]\./) { |
if ($middle=~/^\[(.*)\]\./) { |
my $sec=$1; |
my $sec=$1; |
Line 158 sub readcalendar {
|
Line 162 sub readcalendar {
|
} |
} |
$data{'datetype'}=&mt('Answer Available'); |
$data{'datetype'}=&mt('Answer Available'); |
} |
} |
$returnhash{$courseid.'@'.$resourcedata{$thiskey}.'_'. |
$returnhash{join("\0",$courseid, |
$resourcedata{$thiskey}}=\%data; |
$resourcedata{$thiskey}, |
|
$resourcedata{$thiskey})}=\%data; |
} |
} |
} |
} |
return %returnhash; |
return %returnhash; |
Line 281 sub display_msg {
|
Line 286 sub display_msg {
|
|
|
my $output = $msg->{'datetype'}. ': '.$msg->{'realm'}; |
my $output = $msg->{'datetype'}. ': '.$msg->{'realm'}; |
if (exists($msg->{'url'})) { |
if (exists($msg->{'url'})) { |
$output .= ': '.&Apache::lonnet::gettitle($msg->{'url'}); |
my $displayurl=&Apache::lonnet::gettitle($msg->{'url'}); |
|
if ($msg->{'url'}!~/\Q$displayurl\E$/) { |
|
$output .= ' - '.$displayurl; |
|
} |
} |
} |
if (exists($msg->{'symb'})) { |
if (exists($msg->{'symb'})) { |
$output .= ': '.&Apache::lonnet::gettitle($msg->{'symb'}); |
my $displaysymb=&Apache::lonnet::gettitle($msg->{'symb'}); |
|
if ($msg->{'symb'}!~/\Q$displaysymb\E$/) { |
|
$output .= ' - '.$displaysymb; |
|
} |
} |
} |
$output .= ' ('.$msg->{'section'}.') '; |
$output .= ' ('.$msg->{'section'}.') '; |
return $output; |
return $output; |
Line 301 sub showday {
|
Line 312 sub showday {
|
$nextday+=$oneday; |
$nextday+=$oneday; |
} |
} |
foreach my $item (keys(%allcal)) { |
foreach my $item (keys(%allcal)) { |
my ($course,$startdate,$enddate)=($item=~/^(\w+)\@(\d+)\_(\d+)$/); |
my ($courseid,$startdate,$enddate)= split("\0",$item); |
if (($startdate<$nextday) && ($enddate>=$tk)) { |
if (($startdate<$nextday) && ($enddate>=$tk)) { |
push(@outp,[$course,$startdate,$enddate,$allcal{$item}]); |
push(@outp,[$courseid,$startdate,$enddate,$allcal{$item}]); |
} |
} |
} |
} |
unless ($mode) { |
unless ($mode) { |
Line 350 ENDDIA
|
Line 361 ENDDIA
|
# ----------------------------------------------------- Summarize all calendars |
# ----------------------------------------------------- Summarize all calendars |
sub get_all_calendars { |
sub get_all_calendars { |
my %allcal=(); |
my %allcal=(); |
foreach my $course (sort(&Apache::loncommon::findallcourses())) { |
my %courses = &Apache::loncommon::findallcourses(); |
|
foreach my $course (sort(keys(%courses))) { |
%allcal=(%allcal,&readcalendar($course)); |
%allcal=(%allcal,&readcalendar($course)); |
} |
} |
return %allcal; |
return %allcal; |
Line 366 sub output_ics_file {
|
Line 378 sub output_ics_file {
|
$r->print("PRODID:-//LONCAPA//LONCAPA Calendar Output//EN$crlf"); |
$r->print("PRODID:-//LONCAPA//LONCAPA Calendar Output//EN$crlf"); |
my %allcal=&get_all_calendars(); |
my %allcal=&get_all_calendars(); |
foreach my $event (keys(%allcal)) { |
foreach my $event (keys(%allcal)) { |
my ($courseid,$startdate,$enddate)=($event=~/^(\w+)\@(\d+)\_(\d+)$/); |
my ($courseid,$startdate,$enddate)= split('\0',$event); |
my $uid=$event; |
my $uid=$event; |
$uid=~s/[\W\_]/-/gs; |
$uid=~s/[\W\_]/-/gs; |
$uid.='@loncapa'; |
$uid.='@loncapa'; |
Line 485 Post announcements to the system login a
|
Line 497 Post announcements to the system login a
|
Check machines:<br /> |
Check machines:<br /> |
SERVERANNOUNCE |
SERVERANNOUNCE |
# list servers |
# list servers |
foreach my $host (sort(keys(%Apache::lonnet::hostname))) { |
my %hostname = &Apache::lonnet::all_hostnames(); |
|
foreach my $host (sort(keys(%hostname))) { |
if (&Apache::lonnet::allowed('psa',$Apache::lonnet::hostdom{$host})) { |
if (&Apache::lonnet::allowed('psa',$Apache::lonnet::hostdom{$host})) { |
$r->print ('<br /><input type="checkbox" name="postto_'.$host.'" /> '. |
$r->print ('<br /><label><input type="checkbox" name="postto_'.$host.'" /> '. |
$host.' <tt>'.$Apache::lonnet::hostname{$host}.'</tt> '. |
$host.' <tt>'.$hostname{$host}.'</tt> '. |
'<a href="http://'.$Apache::lonnet::hostname{$host}. |
'</label><a href="http://'.$hostname{$host}. |
'/announcement.txt" target="annowin">current</a>'); |
'/announcement.txt" target="annowin">current</a>'); |
} |
} |
} |
} |