.\" Automatically generated by Pod::Man 2.27 (Pod::Simple 3.28) .\" .\" Standard preamble: .\" ======================================================================== .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. \*(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- .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" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{ . if \nF \{ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" 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 "LedgerSMB::User 3pm" .TH LedgerSMB::User 3pm "2014-06-10" "perl v5.18.2" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" LedgerSMB::User \- Provides user support and database management functions. .SH "SYNOPSIS" .IX Header "SYNOPSIS" This module provides user support and database management functions. .SH "STATUS" .IX Header "STATUS" Deprecated .SH "COPYRIGHT" .IX Header "COPYRIGHT" .Vb 10 \& #==================================================================== \& # LedgerSMB \& # Small Medium Business Accounting software \& # http://www.ledgersmb.org/ \& # \& # Copyright (C) 2006 \& # This work contains copyrighted information from a number of sources \& # all used with permission. \& # \& # This file contains source code included with or based on SQL\-Ledger \& # which is Copyright Dieter Simader and DWS Systems Inc. 2000\-2005 \& # and licensed under the GNU General Public License version 2 or, at \& # your option, any later version. For a full list including contact \& # information of contributors, maintainers, and copyright holders, \& # see the CONTRIBUTORS file. \& # \& # Original Copyright Notice from SQL\-Ledger 2.6.17 (before the fork): \& # Copyright (C) 2000 \& # \& # Author: DWS Systems Inc. \& # Web: http://www.sql\-ledger.org \& # \& # Contributors: Jim Rawlings \& # \& #==================================================================== \& # \& # This file has undergone whitespace cleanup. \& # \& #==================================================================== \& # \& # user related functions \& # \& #==================================================================== .Ve .SH "METHODS" .IX Header "METHODS" .IP "LedgerSMB::User\->new($login);" 4 .IX Item "LedgerSMB::User->new($login);" Create a LedgerSMB::User object. If the user \f(CW$login\fR exists, set the fields with values retrieved from the database. .IP "LedgerSMB::User\->\fIcountry_codes()\fR;" 4 .IX Item "LedgerSMB::User->country_codes();" Returns a hash where the keys are registered locales and the values are the textual representation of the locale name. .IP "LedgerSMB::User\->fetch_config($login);" 4 .IX Item "LedgerSMB::User->fetch_config($login);" Returns a reference to a hash that contains the user config for the user \f(CW$login\fR. If that user does not exist, output 'Access denied' if in \s-1CGI\s0 and die in all cases. .IP "LedgerSMB::User\->check_recurring($form);" 4 .IX Item "LedgerSMB::User->check_recurring($form);" Disused function to return the number of current recurring events. .ie n .IP "LedgerSMB::User::dbconnect_vars($form, $db);" 4 .el .IP "LedgerSMB::User::dbconnect_vars($form, \f(CW$db\fR);" 4 .IX Item "LedgerSMB::User::dbconnect_vars($form, $db);" Converts individual \f(CW$form\fR values into \f(CW$form\fR\->{dboptions} and \f(CW$form\fR\->{dbconnect}. .IP "LedgerSMB::User\->\fIdbdrivers()\fR;" 4 .IX Item "LedgerSMB::User->dbdrivers();" Returns a list of all drivers set up with \s-1DBI\s0 whose names end in 'Pg'. .IP "LedgerSMB::User\->dbsources($form);" 4 .IX Item "LedgerSMB::User->dbsources($form);" Returns a list of all databases in the same cluster as the database that \f(CW$form\fR is set to. If \f(CW$form\fR\->{only_acc_db} is set, only non-template databases that have a defaults table owned by \f(CW$form\fR\->{dbuser} are returned. .IP "LedgerSMB::User\->dbcreate($form);" 4 .IX Item "LedgerSMB::User->dbcreate($form);" Create the database indicated by \f(CW$form\fR\->{db} and load Pg\-database.sql, the chart indicated by \f(CW$form\fR\->{chart} and custom tables and functions (Pg\-custom_tables.sql and Pg\-custom_functions). .ie n .IP "LedgerSMB::User\->process_query($form, $dbh, $filename);" 4 .el .IP "LedgerSMB::User\->process_query($form, \f(CW$dbh\fR, \f(CW$filename\fR);" 4 .IX Item "LedgerSMB::User->process_query($form, $dbh, $filename);" Load the file \f(CW$filename\fR into the database indicated through form using psql. \&\f(CW$dbh\fR is ignored. .IP "LedgerSMB::User\->dbdelete($form);" 4 .IX Item "LedgerSMB::User->dbdelete($form);" Disused function to drop the database \f(CW$form\fR\->{db}. .ie n .IP "LedgerSMB::User\->dbsources_unused($form, $memfile);" 4 .el .IP "LedgerSMB::User\->dbsources_unused($form, \f(CW$memfile\fR);" 4 .IX Item "LedgerSMB::User->dbsources_unused($form, $memfile);" Disused function to identify all databases in a cluster with a defaults table that are not mentioned in the memberfile \f(CW$memfile\fR. .IP "LedgerSMB::User\->dbneedsupdate($form);" 4 .IX Item "LedgerSMB::User->dbneedsupdate($form);" Disused function to locate all databases owned by \f(CW$form\fR\->{dbuser} that are not a template* database which have a defaults table with a version entry. .IP "LedgerSMB::User\->dbupdate($form);" 4 .IX Item "LedgerSMB::User->dbupdate($form);" Applies database upgrade scripts to upgrade the database to the current level. .IP "calc_version($version);" 4 .IX Item "calc_version($version);" Returns a numeric form for the version passed in. The numeric form is derived by converting each dotted portion of the version to a three-digit number and appending them. .Sp .Vb 8 \& +\-\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-+ \& | $version | returned | \& +\-\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-+ \& | 1.0.0 | 1000000 | \& | 1.2.33 | 1002033 | \& | 189.2.33 | 189002033 | \& | 1.2.3.4 | 1002003004 | \& +\-\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-+ .Ve .IP "script_version" 4 .IX Item "script_version" Sorting function for database upgrade scripts. .ie n .IP "$user\->\fIsave_member()\fR;" 4 .el .IP "\f(CW$user\fR\->\fIsave_member()\fR;" 4 .IX Item "$user->save_member();" Updates the user config in the database for the user \f(CW$user\fR. If no config for the user exists, the user to the database. .IP "LedgerSMB::User\->delete_login($form);" 4 .IX Item "LedgerSMB::User->delete_login($form);" Disused function to delete the user \f(CW$form\fR\->{login}. .IP "LedgerSMB::User\->\fIconfig_vars()\fR;" 4 .IX Item "LedgerSMB::User->config_vars();" Disused function that returns a list of user config variable names. .ie n .IP "$self\->error($msg);" 4 .el .IP "\f(CW$self\fR\->error($msg);" 4 .IX Item "$self->error($msg);" Privately used error function. Used in places where the more typically used \&\f(CW$form\fR\->error cannot be used. Always dies.