[Bio] / WebApplication / WebComments / Comment.pm Repository:
ViewVC logotype

View of /WebApplication/WebComments/Comment.pm

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (download) (as text) (annotate)
Wed Jan 13 17:54:14 2010 UTC (10 years, 4 months ago) by devoid
Branch: MAIN
CVS Tags: mgrast_dev_08112011, mgrast_dev_08022011, rast_rel_2014_0912, mgrast_dev_03052011, mobedac_release_05302012, mgrast_dev_05262011, mgrast_dev_04082011, rast_rel_2010_0928, mgrast_version_3_2, mgrast_dev_12152011, mgrast_dev_06072011, rast_rel_2010_0526, rast_rel_2014_0729, mgrast_dev_02212011, rast_rel_2010_1206, mgrast_release_3_0, mgrast_dev_03252011, rast_rel_2010_0118, rast_rel_2011_0119, mgrast_release_3_0_4, mgrast_release_3_0_2, mgrast_release_3_0_3, mgrast_release_3_0_1, mgrast_dev_03312011, mgrast_release_3_1_2, mgrast_release_3_1_1, mgrast_release_3_1_0, mgrast_dev_04132011, mgrast_dev_04012011, rast_rel_2010_0827, myrast_33, rast_rel_2011_0928, mgrast_dev_04052011, mgrast_dev_02222011, mgrast_dev_10262011, HEAD
Adding Comment component and Comment PPO.

package WebComments::Comment;

use strict;
use warnings;
use URI::Escape;

1;

# this class is a stub, this file will not be automatically regenerated
# all work in this module will be saved


sub validRefObj {
	my ($refstr) = @_;
	return 1;
	if( $refstr =~ m/^fig\|\d+.\d/ ) { return 1; } # fig|83333.1 genomes 
	elsif( $refstr =~ m/^fig\|\d+.\d.str(.\d+)+/) { return 1; } # fig|83333.1.str.1.2.3 strains
	else { return 0; }
}

sub foo {
	my ($self, $hash) = @_;
	unless(@{$self->_master->Comment->get_objects({ ReferenceObject =>
			$hash->{'ReferenceObject'} })}) {
		unless(validRefObj($hash->{'ReferenceObject'})) {
			die "Reference Object '".$hash->{'ReferenceObject'}."' fails to match a valid".
				"reference pattern.";
		}
	}
	$self->SUPER::create(@_);
	# Parse comment Text for '@' symbols
	my $text = uri_unescape($self->Text());
	my $private_hits = 0;
	if($text =~ m/^@/) {	
		$_ = $text;
		my @Matches = /@(\w+)/g;
		foreach my $match (@Matches) {
			my $directed_user = $match; #get user?
			if(defined($directed_user)) { # if the username exists	
				$private_hits++;	
				my $existing_direct = $self->_master->CommentDirectedAt->get_objects({
					Comment => $self, User => $directed_user });
				unless(@{$existing_direct}) {
					$self->_master->CommentDirectedAt->create({ Comment => $self,
						User => $directed_user });
				}
			} 
		}
	}
	if($private_hits) { $self->Private( 'true' ); }
}	

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3