--- Node.ORIG.pm	2008-08-10 22:54:20.000000000 -0600
+++ Node.pm	2008-09-10 08:09:46.000000000 -0600
@@ -444,6 +444,35 @@
     }
 }
 
+# BEGIN LPV MODS - MichaelRubin
+sub _evaluate {
+   my $this = shift;
+   my $result;
+
+   if (!ref( $this->{op})) {
+      return $this->{params}[0];
+   } else {
+      return $this->evaluate(@_);
+   }
+}
+
+sub OP_ingroup {
+   my $this = shift;
+   my $a = $this->{params}->[0]; # user cUID/ loginname / WikiName / WebDotWikiName :( (string)
+   my $b = $this->{params}->[1]; # group name (string
+   my %domain = @_;
+   my $session = $domain{tom}->session;
+   throw Error::Simple('No context in which to evaluate "'.
+			 $a->stringify().'"') unless $session;
+   my $user = $session->{users}->getCanonicalUserID($a->evaluate(@_));
+   return 0 unless $user;
+   my $group = $b->_evaluate(@_);
+   return 0 unless $group;
+   return 1 if( $session->{users}->isInGroup($user, $group) );
+   return 0;
+}
+# END LPV MODS - MichaelRubin
+
 1;
 __DATA__
 
