This class includes all modules and attributes of an account.

package | modules

### Methods

## Constructor

    __construct(string $type, string $base)

### Parameters

#### $type

`string`

account type

#### $base

`string`

key in $_SESSION where this object is saved

## Encrypts sensitive data before storing in session.

    __sleep() : array

### Returns

`array`list of attributes which are serialized

## Decrypts sensitive data after accountContainer was loaded from session.

    __wakeup()

## This function is called when the user clicks on any button on the account pages.

    continue_main()

It prints the HTML code of each account page.

## Fixes spelling errors in the attribute names.

    fixLDAPAttributes(array $attributes, array $modules) : array

### Parameters

#### $attributes

`array`

LDAP attributes

#### $modules

`array`

list of active modules

### Returns

`array`fixed attributes

## Returns the account module with the given class name

    getAccountModule(string $name) : \baseModule

### Parameters

#### $name

`string`

class name (e.g. posixAccount)

### Returns

`\baseModule`account module

## Returns the included account modules.

    getAccountModules() : array

### Returns

`array`modules

## Returns the parent DN of a given DN.

    getParentDN(String $dn) : String

### Parameters

#### $dn

`String`

DN

### Returns

`String`DN

## Returns the RDN part of a given DN.

    getRDN(String $dn) : String

### Parameters

#### $dn

`String`

DN

### Returns

`String`RDN

## Returns a list of possible PDF entries for this account.

    get_pdfEntries() : \list

### Returns

`\list`of PDF entries (array(<name> => <PDF lines>))

## Returns the accout type of this object (e.g.

    get_type() : string

user, group, host).

### Returns

`string`account type

## Loads an LDAP account with the given DN.

    load_account(string $dn, array $infoAttributes) : array

### Parameters

#### $dn

`string`

the DN of the account

#### $infoAttributes

`array`

list of additional informational attributes that are added to the LDAP attributes E.g. this is used to inject the clear text password in the file upload. Informational attribute names must start with "INFO.".

### Returns

`array`error messages

## This function will prepare the object for a new account.

    new_account()

## This function will save an account to the LDAP database.

    save_account() : array

### Returns

`array`list of status messages

## This function checks which LDAP attributes have changed while the account was edited.

    save_module_attributes(array $attributes, array $orig) : array

### Parameters

#### $attributes

`array`

list of current LDAP attributes

#### $orig

`array`

list of old attributes when account was loaded

### Returns

`array`an array which can be passed to $this->saveAccount()

## Sets the new password in all selected account modules.

    setNewPassword(array $input)

### Parameters

#### $input

`array`

input parameters

## Sorts the module buttons for the account page.

    sortModules()

## Returns a list of OUs that exist for this account type.

    getOUs() : array

### Returns

`array`OU list

## Checks if the user requested to load a profile.

    loadProfileIfRequested() : boolean

### Returns

`boolean`true, if profile was loaded

## Prints common controls like the save button and the ou selection.

    printCommonControls(int $tabindex)

### Parameters

#### $tabindex

`int`

tabindex for GUI elements

## Prints the content part provided by the current module.

    printModuleContent(array $result, boolean $stopProcessing)

### Parameters

#### $result

`array`

list of messages

#### $stopProcessing

`boolean`

true if page should end after displaying the messages

## Prints the HTML code of the module tabs.

    printModuleTabs()

## Prints the header of the account pages.

    printPageHeader()

## Prints the input fields of the central password service.

    printPasswordPromt()

## Prints the HTML code to notify the user about the successful saving.

    printSuccessPage(array $messages)

### Parameters

#### $messages

`array`

array which contains status messages. Each entry is an array containing the status message parameters.

## Returns if the page should show a button to set the password.

    showSetPasswordButton() : boolean

### Returns

`boolean`show or hide button

### Properties

## Array of all used attributes Syntax is attribute => array ( objectClass => MUST or MAY, .

    $attributes

..)

## original LDAP attributes when account was loaded from LDAP

    $attributes_orig

## DN suffix of the account

    $dnSuffix

## DN of account when it was loaded

    $dn_orig

## DN of saved account

    $finalDN

## True if this is a newly created account

    $isNewAccount

## RDN attribute of this account

    $rdn

## Name of accountContainer variable in session

    $base

## cache for existing OUs

    $cachedOUs

## This variable stores the page number of the currently displayed page

    $current_page

## name of last loaded account profile

    $lastLoadedProfile

## This is an array with all module objects

    $module

## Module order

    $order

## send password via mail

    $sendPasswordViaMail

## send password via mail to this alternate address

    $sendPasswordViaMailAlternateAddress

## This variable is set to the pagename of a subpage if it should be displayed

    $subpage

## subtitle in title bar

    $titleBarSubtitle

## main title in title bar

    $titleBarTitle

## This variale stores the account type.

    $type

Currently "user", "group" and "host" are supported.