version 1.394, 2006/12/20 23:25:13
|
version 1.396, 2007/01/05 06:43:34
|
Line 1914 sub generate_email_discuss_status {
|
Line 1914 sub generate_email_discuss_status {
|
|
|
foreach my $msgid (@keys) { |
foreach my $msgid (@keys) { |
if ((!$emailstatus{$msgid}) || ($emailstatus{$msgid} eq 'new')) { |
if ((!$emailstatus{$msgid}) || ($emailstatus{$msgid} eq 'new')) { |
my $plain= |
my ($sendtime,$shortsubj,$fromname,$fromdomain,$status,$fromcid, |
&LONCAPA::unescape(&LONCAPA::unescape($msgid)); |
$symb,$error) = &Apache::lonmsg::unpackmsgid($msgid); |
if ($plain=~/ \[([^\]]+)\]\:/) { |
&Apache::lonenc::check_decrypt(\$symb); |
my $url=$1; |
if (($fromcid ne '') && ($fromcid ne $cid)) { |
if ($plain=~/\:Error \[/) { |
next; |
$error{$url}.=','.$msgid; |
} |
} else { |
if (defined($symb)) { |
$feedback{$url}.=','.$msgid; |
if (defined($error) && $error == 1) { |
} |
$error{$symb}.=','.$msgid; |
} |
} else { |
|
$feedback{$symb}.=','.$msgid; |
|
} |
|
} else { |
|
my $plain= |
|
&LONCAPA::unescape(&LONCAPA::unescape($msgid)); |
|
if ($plain=~/ \[([^\]]+)\]\:/) { |
|
my $url=$1; |
|
if ($plain=~/\:Error \[/) { |
|
$error{$url}.=','.$msgid; |
|
} else { |
|
$feedback{$url}.=','.$msgid; |
|
} |
|
} |
|
} |
} |
} |
} |
} |
|
|
#url's of resources that have feedbacks |
#symbs of resources that have feedbacks (will be urls pre-2.3) |
$self->{FEEDBACK} = \%feedback; |
$self->{FEEDBACK} = \%feedback; |
#or errors |
#or errors (will be urls pre 2.3) |
$self->{ERROR_MSG} = \%error; |
$self->{ERROR_MSG} = \%error; |
$self->{DISCUSSION_TIME} = \%discussiontime; |
$self->{DISCUSSION_TIME} = \%discussiontime; |
$self->{EMAIL_STATUS} = \%emailstatus; |
$self->{EMAIL_STATUS} = \%emailstatus; |
Line 2116 sub unwrap_symb {
|
Line 2130 sub unwrap_symb {
|
sub getFeedback { |
sub getFeedback { |
my $self = shift; |
my $self = shift; |
my $symb = shift; |
my $symb = shift; |
|
my $source = shift; |
|
|
$self->generate_email_discuss_status(); |
$self->generate_email_discuss_status(); |
|
|
if (!defined($self->{FEEDBACK})) { return ""; } |
if (!defined($self->{FEEDBACK})) { return ""; } |
|
|
return $self->{FEEDBACK}->{$symb}; |
my $feedback; |
|
if ($self->{FEEDBACK}->{$symb}) { |
|
$feedback = $self->{FEEDBACK}->{$symb}; |
|
if ($self->{FEEDBACK}->{$source}) { |
|
$feedback .= ','.$self->{FEEDBACK}->{$source}; |
|
} |
|
} else { |
|
if ($self->{FEEDBACK}->{$source}) { |
|
$feedback = $self->{FEEDBACK}->{$source}; |
|
} |
|
} |
|
return $feedback; |
} |
} |
|
|
# Private method: Get the errors for that resource (by source). |
# Private method: Get the errors for that resource (by source). |
sub getErrors { |
sub getErrors { |
my $self = shift; |
my $self = shift; |
|
my $symb = shift; |
my $src = shift; |
my $src = shift; |
|
|
$self->generate_email_discuss_status(); |
$self->generate_email_discuss_status(); |
|
|
if (!defined($self->{ERROR_MSG})) { return ""; } |
if (!defined($self->{ERROR_MSG})) { return ""; } |
return $self->{ERROR_MSG}->{$src}; |
|
|
my $errors; |
|
if ($self->{ERROR_MSG}->{$symb}) { |
|
$errors = $self->{ERROR_MSG}->{$symb}; |
|
if ($self->{ERROR_MSG}->{$src}) { |
|
$errors .= ','.$self->{ERROR_MSG}->{$src}; |
|
} |
|
} else { |
|
if ($self->{ERROR_MSG}->{$src}) { |
|
$errors = $self->{ERROR_MSG}->{$src}; |
|
} |
|
} |
|
return $errors; |
} |
} |
|
|
=pod |
=pod |
Line 3883 sub discussion_info {
|
Line 3922 sub discussion_info {
|
sub getFeedback { |
sub getFeedback { |
my $self = shift; |
my $self = shift; |
my $source = $self->src(); |
my $source = $self->src(); |
|
my $symb = $self->symb(); |
if ($source =~ /^\/res\//) { $source = substr $source, 5; } |
if ($source =~ /^\/res\//) { $source = substr $source, 5; } |
return $self->{NAV_MAP}->getFeedback($source); |
return $self->{NAV_MAP}->getFeedback($symb,$source); |
} |
} |
|
|
sub getErrors { |
sub getErrors { |
my $self = shift; |
my $self = shift; |
my $source = $self->src(); |
my $source = $self->src(); |
|
my $symb = $self->symb(); |
if ($source =~ /^\/res\//) { $source = substr $source, 5; } |
if ($source =~ /^\/res\//) { $source = substr $source, 5; } |
return $self->{NAV_MAP}->getErrors($source); |
return $self->{NAV_MAP}->getErrors($symb,$source); |
} |
} |
|
|
=pod |
=pod |