From 076936e054dcb667551c4860affb1b3ddbace1b8 Mon Sep 17 00:00:00 2001 From: hylom Date: Thu, 5 Oct 2017 19:46:08 +0900 Subject: [PATCH] * Model::Relations: add is_friend_or_fof() and is_foe_or_eof() --- src/newslash_web/lib/Newslash/Model/Relations.pm | 30 ++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/src/newslash_web/lib/Newslash/Model/Relations.pm b/src/newslash_web/lib/Newslash/Model/Relations.pm index 73260ae1..dc1eb5cd 100644 --- a/src/newslash_web/lib/Newslash/Model/Relations.pm +++ b/src/newslash_web/lib/Newslash/Model/Relations.pm @@ -355,6 +355,36 @@ sub is_eof { } +sub is_friend_or_fof { + my $self = shift; + my $params = {@_}; + my $uid = $params->{uid}; + my $of = $params->{of}; + + my $fofs = $self->friends_of_friends(uid => $of); + my $f = []; + for my $u (keys %$fofs) { + return 1 if $u == $uid; + push @$f, @{$fofs->{$u}}; + } + return any { $_ == $uid } @$f; +} + +sub is_foe_or_eof { + my $self = shift; + my $params = {@_}; + my $uid = $params->{uid}; + my $of = $params->{of}; + + my $fofs = $self->foes_of_friends(uid => $of); + my $f = []; + for my $u (keys %$fofs) { + return 1 if $u == $uid; + push @$f, @{$fofs->{$u}}; + } + return any { $_ == $uid } @$f; +} + sub select { my $self = shift @_; -- 2.11.0