← Index
NYTProf Performance Profile   « line view »
For ./view
  Run on Fri Jul 31 19:05:14 2015
Reported on Fri Jul 31 19:08:10 2015

Filename/var/www/foswiki11/lib/Foswiki/If/OP_ingroup.pm
StatementsExecuted 10 statements in 356µs
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
11123µs48µsFoswiki::If::OP_ingroup::::newFoswiki::If::OP_ingroup::new
11121µs39µsFoswiki::If::OP_ingroup::::BEGIN@11Foswiki::If::OP_ingroup::BEGIN@11
11112µs19µsFoswiki::If::OP_ingroup::::BEGIN@12Foswiki::If::OP_ingroup::BEGIN@12
1115µs5µsFoswiki::If::OP_ingroup::::BEGIN@14Foswiki::If::OP_ingroup::BEGIN@14
0000s0sFoswiki::If::OP_ingroup::::evaluateFoswiki::If::OP_ingroup::evaluate
Call graph for these subroutines as a Graphviz dot language file.
Line State
ments
Time
on line
Calls Time
in subs
Code
1# See bottom of file for license and copyright information
2
3=begin TML
4
5---+ package Foswiki::If::OP_ingroup
6
7=cut
8
9package Foswiki::If::OP_ingroup;
10
11238µs258µs
# spent 39µs (21+18) within Foswiki::If::OP_ingroup::BEGIN@11 which was called: # once (21µs+18µs) by Foswiki::If::Parser::new at line 11
use strict;
# spent 39µs making 1 call to Foswiki::If::OP_ingroup::BEGIN@11 # spent 18µs making 1 call to strict::import
12238µs226µs
# spent 19µs (12+7) within Foswiki::If::OP_ingroup::BEGIN@12 which was called: # once (12µs+7µs) by Foswiki::If::Parser::new at line 12
use warnings;
# spent 19µs making 1 call to Foswiki::If::OP_ingroup::BEGIN@12 # spent 7µs making 1 call to warnings::import
13
142245µs15µs
# spent 5µs within Foswiki::If::OP_ingroup::BEGIN@14 which was called: # once (5µs+0s) by Foswiki::If::Parser::new at line 14
use Foswiki::Query::BinaryOP ();
# spent 5µs making 1 call to Foswiki::If::OP_ingroup::BEGIN@14
1519µsour @ISA = ('Foswiki::Query::BinaryOP');
16
17
# spent 48µs (23+24) within Foswiki::If::OP_ingroup::new which was called: # once (23µs+24µs) by Foswiki::If::Parser::new at line 31 of /var/www/foswiki11/lib/Foswiki/If/Parser.pm
sub new {
181800ns my $class = shift;
19122µs124µs return $class->SUPER::new(
# spent 24µs making 1 call to Foswiki::Query::BinaryOP::new
20 name => 'ingroup',
21 prec => 600,
22 casematters => 1
23 );
24}
25
26sub evaluate {
27 my $this = shift;
28 my $node = shift;
29 my $a =
30 $node->{params}->[0]
31 ; # user cUID/ loginname / WikiName / WebDotWikiName :( (string)
32 my $b = $node->{params}->[1]; # group name (string
33 my %domain = @_;
34 my $session = $domain{tom}->session;
35 throw Error::Simple(
36 'No context in which to evaluate "' . $a->stringify() . '"' )
37 unless $session;
38 my $user = $session->{users}->getCanonicalUserID( $a->evaluate(@_) );
39 return 0 unless $user;
40 my $group = $b->_evaluate(@_);
41 return 0 unless $group;
42 return 1 if ( $session->{users}->isInGroup( $user, $group ) );
43 return 0;
44}
45
4614µs1;
47__END__