.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.32
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sh \" Subsection heading
.br
.if t .Sp
.ne 5
.PP
\fB\\$1\fR
.PP
..
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings. \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote. | will give a
.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to
.\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C'
.\" expand to `' in nroff, nothing in troff, for use with C<>.
.tr \(*W-|\(bv\*(Tr
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
. ds -- \(*W-
. ds PI pi
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
. ds L" ""
. ds R" ""
. ds C` ""
. ds C' ""
'br\}
.el\{\
. ds -- \|\(em\|
. ds PI \(*p
. ds L" ``
. ds R" ''
'br\}
.\"
.\" If the F register is turned on, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
.\" entries marked with X<> in POD. Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.if \nF \{\
. de IX
. tm Index:\\$1\t\\n%\t"\\$2"
..
. nr % 0
. rr F
.\}
.\"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.hy 0
.if n .na
.\"
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
.\" Fear. Run. Save yourself. No user-serviceable parts.
. \" fudge factors for nroff and troff
.if n \{\
. ds #H 0
. ds #V .8m
. ds #F .3m
. ds #[ \f1
. ds #] \fP
.\}
.if t \{\
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
. ds #V .6m
. ds #F 0
. ds #[ \&
. ds #] \&
.\}
. \" simple accents for nroff and troff
.if n \{\
. ds ' \&
. ds ` \&
. ds ^ \&
. ds , \&
. ds ~ ~
. ds /
.\}
.if t \{\
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
.\}
. \" troff and (daisy-wheel) nroff accents
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
.ds ae a\h'-(\w'a'u*4/10)'e
.ds Ae A\h'-(\w'A'u*4/10)'E
. \" corrections for vroff
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
. \" for low resolution devices (crt and lpr)
.if \n(.H>23 .if \n(.V>19 \
\{\
. ds : e
. ds 8 ss
. ds o a
. ds d- d\h'-1'\(ga
. ds D- D\h'-1'\(hy
. ds th \o'bp'
. ds Th \o'LP'
. ds ae ae
. ds Ae AE
.\}
.rm #[ #] #H #V #F C
.\" ========================================================================
.\"
.IX Title "Gantry::Control::C::Groups 3"
.TH Gantry::Control::C::Groups 3 "2008-01-18" "perl v5.8.8" "User Contributed Perl Documentation"
.SH "NAME"
Gantry::Control::C::Groups \- Group management for the Gantry library
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
.Vb 1
\& use Gantry::Control::C::Groups;
.Ve
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
This module handles all of the group manipulation for the authorization
and authentication handlers. It's pretty mundane by itself.
.SH "APACHE"
.IX Header "APACHE"
Sample Apache configuration.
.PP
.Vb 2
\&
\& SetHandler perl-script
.Ve
.PP
.Vb 1
\& PerlSetVar SiteTitle "Group Management: "
.Ve
.PP
.Vb 4
\& PerlSetVar dbconn "dbi:Pg:dbname=..."
\& PerlSetVar dbuser ""
\& PerlSetVar dbpass "
\& PerlSetVar DatabaseCommit off
.Ve
.PP
.Vb 2
\& PerlHandler Gantry::Control::C::Groups
\&
.Ve
.SH "DATABASE"
.IX Header "DATABASE"
These are the group authentication/authorization tables used by this
module. They are also used by the authen and authz handlers this package
contains.
.PP
.Vb 3
\& create table "auth_users" (
\& see C
\& );
.Ve
.PP
.Vb 5
\& create table "auth_groups" (
\& "id" int4 default nextval('auth_groups_seq'::text) NOT NULL,
\& "name" varchar,
\& "description" text
\& );
.Ve
.PP
.Vb 5
\& create table "auth_group_members" (
\& "id" int4 default nextval('auth_group_members_seq'::text) NOT NULL,
\& "user_id" int4,
\& "group_id" int4
\& );
.Ve
.SH "METHODS"
.IX Header "METHODS"
The methods are all url mapped handlers called by Gantry::handler, except
redirect_to_main which is a Gantry::Plugins::CRUD callback which decides
where to go when a button driven action is complete.
.IP "do_add" 4
.IX Item "do_add"
.PD 0
.IP "do_ajax_edit" 4
.IX Item "do_ajax_edit"
.IP "do_delete" 4
.IX Item "do_delete"
.IP "do_edit" 4
.IX Item "do_edit"
.IP "do_main" 4
.IX Item "do_main"
.IP "do_members" 4
.IX Item "do_members"
.IP "redirect_to_main" 4
.IX Item "redirect_to_main"
.PD
.PP
There is also one method designed to be called by templates (especially
wrappers).
.IP "site_links" 4
.IX Item "site_links"
Returns nav links and their text.
.SH "SEE ALSO"
.IX Header "SEE ALSO"
\&\fIGantry::Control::C::Users\fR\|(3), \fIGantry::Control\fR\|(3), \fIGantry::Control::Users\fR\|(3),
\&\fIGantry\fR\|(3)
.SH "LIMITATIONS"
.IX Header "LIMITATIONS"
The group name should be safe for use in the apache configuration files
but I am not going to force this down peoples throat as any string can
be made safe if escaped correctly.
.SH "AUTHOR"
.IX Header "AUTHOR"
Tim Keefer
.SH "COPYRIGHT"
.IX Header "COPYRIGHT"
Copyright (c) 2005\-6, Tim Keefer.
.PP
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.8.6 or,
at your option, any later version of Perl 5 you may have available.