### Functions

## _()

    _($msg)

### Parameters

#### $msg

## Loads class definition

    __autoload($className)

### Parameters

#### $className

## This function returns an array of $num_req values randomly picked from the $input array

    a_array_rand(array $input, integer $num_req) : string

### Parameters

#### $input

`array`

Array of values

#### $num_req

`integer`

Number of values in returned array

### Returns

`string`The padded string

## Adds a procedure to a hook for later execution.

    add_hook(\hook_name $hook_name, \hook_function $hook_function, \priority $priority, \rollback_function $rollback_function)

### Parameters

#### $hook_name

`\hook_name`

Name of the hook.

#### $hook_function

`\hook_function`

Name of the php function called upon hook trigger.

#### $priority

`\priority`

Numeric priority. Lowest means procedure will be executed before.

#### $rollback_function

`\rollback_function`

Name of the php rollback function called upon failure.

## Custom error handling function.

    app_error_handler(int $errno, string $errstr, string $file, int $lineno)

When a PHP error occurs, PHP will call this function rather than printing the typical PHP error string. This provides the application the ability to format an error message so that it looks better. Optionally, it can present a link so that a user can search/submit bugs. This function is not to be called directly. It is exclusively for the use of PHP internally. If this function is called by PHP from within a context where error handling has been disabled (ie, from within a function called with "@" prepended), then this function does nothing.

see | \global\set_error_handler

### Parameters

#### $errno

`int`

The PHP error number that occurred (ie, E_ERROR, E_WARNING, E_PARSE, etc).

#### $errstr

`string`

The PHP error string provided (ie, "Warning index "foo" is undefined)

#### $file

`string`

The file in which the PHP error ocurred.

#### $lineno

`int`

The line number on which the PHP error ocurred

## Returns the application name.

    app_name()

## Returns the application version currently running.

    app_version() : string

The version is read from the file named VERSION.

### Returns

`string`The current version as read from the VERSION file.

## Reads an array and returns the array values back in lower case

    arrayLower(array $array)

returns | array Array with values converted to lowercase.

### Parameters

#### $array

`array`

The array to convert the values to lowercase.

## Strips all slashes from the specified array in place (pass by ref).

    array_stripslashes(Array $array)

### Parameters

#### $array

`Array`

The array to strip slashes from, typically one of $_GET, $_POST, or $_COOKIE.

## Converts an array to a query-string with the option to exclude certain variables from the returned query string.

    array_to_query_string(array $array, array $exclude_vars) : string

This is convenient if callers want to convert the current GET query string or POST array into a string and replace certain variables with their own.

### Parameters

#### $array

`array`

The associate array to convert whose form is such that the keys are the names of the variables and the values are said variables' values like this: `Array ( [server_id] = 0, [dn] = "dc=example,dc=com", [attr] = "sn" )` This will produce a string like this: "server_id=0&dn=dc=example,dc=com&attr=sn"

#### $exclude_vars

`array`

(optional) An array of variables to exclude in the resulting string

### Returns

`string`The string created from the array.

## This function will convert the browser two character language into the default 5 character language, where the country portion should NOT be assumed to be upper case characters of the first two characters.

    auto_lang($lang)

### Parameters

#### $lang

## binSIDtoText()

    binSIDtoText($binsid)

### Parameters

#### $binsid

## Decryption using blowfish algorithm

    blowfish_decrypt(string $encdata, string $secret) : string

author | lem9 (taken from the phpMyAdmin source)

### Parameters

#### $encdata

`string`

Encrypted data

#### $secret

`string`

The secret

### Returns

`string`Original data

## Encryption using blowfish algorithm

    blowfish_encrypt(string $data, string $secret) : string

author | lem9 (taken from the phpMyAdmin source)

### Parameters

#### $data

`string`

Original data

#### $secret

`string`

The secret

### Returns

`string`The encrypted result

## Makes sure that the config file is properly setup.

    check_config($config_file)

### Parameters

#### $config_file

## Removes all procedures from a hook.

    clear_hooks(\hook_name $hook_name)

### Parameters

#### $hook_name

`\hook_name`

Name of hook to clear.

## Commands available in the control_panel of the page

    cmd_control_pane($type) : array

### Parameters

#### $type

### Returns

`array`

## This function dumps the $variable for debugging purposes

    debug_dump(string | array $variable, boolean $die, $onlydebugaddr)

### Parameters

#### $variable

`string` `array`

Variable to dump

#### $die

`boolean`

Whether to stop execution or not.

#### $onlydebugaddr

## This function generates a backtrace

    debug_dump_backtrace(boolean $msg, $die)

### Parameters

#### $msg

`boolean`

Whether to stop execution or not.

#### $die

## Debug Logging

    debug_log(string $msg, int $level, $indent)

The global debug level is turned on in your configuration file by setting:

    $config->custom->debug['level'] = 255;

together with atleast one output direction (currently file and syslog are supported).

    $config->custom->debug['file'] = '/tmp/app_debug.log';
    $config->custom->debug['syslog'] = true;

The debug level is turned into binary, then if the message levels bit is on the message will be sent to the debug log. (Thus setting your debug level to 255, all bits on, will results in all messages being printed.)

The message level bits are defined here. 0( 1) = Entry/Return results from function calls. 1( 2) = Configuration Processing 2( 4) = Template Processing 3( 8) = Schema Processing 4( 16) = LDAP Server Communication 5( 32) = Tree Processing 7( 64) = Other non generic messages 8(128) = Page Processing 9(256) = Hooks Processing

see | \global\syslog.php

### Parameters

#### $msg

`string`

Message to send to syslog

#### $level

`int`

Log bit number for this message.

#### $indent

## Send a debug as a sys message

    debug_sysmsg($msg)

### Parameters

#### $msg

## Deletes the cache for a specified $item for the specified $index

    del_cached_item($index, $item, $subitem)

### Parameters

#### $index

#### $item

#### $subitem

## Parse a DN and escape any special characters

    dn_escape($dn)

### Parameters

#### $dn

## Parse a DN and unescape any special characters

    dn_unescape($dn)

### Parameters

#### $dn

## Draws an HTML browse button which, when clicked, pops up a DN chooser dialog.

    draw_chooser_link(string $form, boolean $element, $include_choose_text, $rdn)

### Parameters

#### $form

`string`

The name of the form element to which this chooser dialog will publish the user's choice. The form element must be a member of a form with the "name" or "id" attribute set in the form tag, and the element must also define "name" or "id" for JavaScript to uniquely identify it. Example $form_element values may include "creation_form.container" or "edit_form.member_uid". See /templates/modification/default.php for example usage.

#### $element

`boolean`

(optional) If true, the function draws the localized text "choose" to the right of the button.

#### $include_choose_text

#### $rdn

## Gets a DN string using the user-configured tree_display_format string to format it.

    draw_formatted_dn($server, $entry)

### Parameters

#### $server

#### $entry

## Draw the jpegPhoto image(s) for an entry wrapped in HTML.

    draw_jpeg_photo(object $server, string $dn, string $attr_name, int $index, boolean $draw_delete_buttons, array $options)

Many options are available to specify how the images are to be displayed.

Usage Examples:

      draw_jpeg_photo(0,'cn=Bob,ou=People,dc=example,dc=com',"jpegPhoto",0,true,array('img_opts'=>"border: 1px; width: 150px"));
      draw_jpeg_photo(1,'cn=Fred,ou=People,dc=example,dc=com',null,1);

### Parameters

#### $server

`object`

The Server to get the image from.

#### $dn

`string`

The DN of the entry that contains the jpeg attribute you want to draw.

#### $attr_name

`string`

The name of the attribute containing the jpeg data (usually 'jpegPhoto').

#### $index

`int`

Index of the attribute to draw

#### $draw_delete_buttons

`boolean`

If true, draws a button beneath the image titled 'Delete' allowing the user to delete the jpeg attribute by calling JavaScript function deleteAttribute() provided in the default modification template.

#### $options

`array`

Specifies optional image and CSS style attributes for the table tag. Supported keys are fixed_width, fixed_height, img_opts.

## Display an error message in the system message panel of the page.

    error($msg, $type, $redirect, $fatal, $backtrace)

### Parameters

#### $msg

#### $type

#### $redirect

#### $fatal

#### $backtrace

## Appends a servers base to a "sub" dn or returns the base.

    expand_dn_with_base(string $base, string $sub_dn) : string | null

### Parameters

#### $base

`string`

The baseDN to be added if the DN is relative

#### $sub_dn

`string`

The DN to be made absolute

### Returns

`string` `null`Returns null if both base is null and sub_dn is null or empty

## String padding

    full_str_pad(string $input, integer $pad_length, string $pad_string, integer $pad_type) : string

### Parameters

#### $input

`string`

Input string

#### $pad_length

`integer`

Length of the result

#### $pad_string

`string`

The filling string

#### $pad_type

`integer`

Padding mode

### Returns

`string`The padded string

## Returns the cached array of LDAP resources.

    get_cached_item($index, $item, $subitem) : \Returns

Note that internally, this function utilizes a two-layer cache, one in memory using a static variable for multiple calls within the same page load, and one in a session for multiple calls within the same user session (spanning multiple page loads).

### Parameters

#### $index

#### $item

#### $subitem

### Returns

`\Returns`the cached attributed requested, or null if there is nothing cached..

## Get a customized file for a server We don't need any caching, because it's done by PHP

    get_custom_file(int $index, string $filename, $path) : string

### Parameters

#### $index

`int`

The ID of the server

#### $filename

`string`

The requested filename

#### $path

### Returns

`string`The customized filename, if exists, or the standard one

## Detects password encryption type

    get_enc_type(string $user_password) : string

Returns crypto string listed in braces. If it is 'crypt' password, returns crypto detected in password hash. Function should detect md5crypt, blowfish and extended DES crypt. If function fails to detect encryption type, it returns NULL.

### Parameters

#### $user_password

`string`

Hashed password

### Returns

`string`

## Fetches the URL for the specified item.

    get_href(string $type, $extra_info) : string

This is a convenience function for fetching project HREFs (like bugs)

### Parameters

#### $type

`string`

One of "open_bugs", "add_bug", "donate", or "add_rfe" (rfe = request for enhancement)

#### $extra_info

### Returns

`string`The URL to the requested item.

## Given a DN and server ID, this function reads the DN's objectClasses and determines which icon best represents the entry.

    get_icon(string $server_id, $dn, $object_classes) : string

The results of this query are cached in a session variable so it is not run every time the tree browser changes, just when exposing new DNs that were not displayed previously. That means we can afford a little bit of inefficiency here in favor of coolness. :)

This function returns a string like "country.png". All icon files are assumed to be contained in the /images/ directory of phpLDAPadmin.

Developers are encouraged to add new icons to the images directory and modify this function as needed to suit their types of LDAP entries. If the modifications are general to an LDAP audience, the phpLDAPadmin team will gladly accept them as a patch.

### Parameters

#### $server_id

`string`

The DN of the entry whose icon you wish to fetch.

#### $dn

#### $object_classes

### Returns

`string`

## For LDAP servers with auto_number enabled, this function will get the next available number using the host's preferred mechanism (pool or search).

    get_next_number(string $base, string $attr, boolean $increment, string $filter, $startmin) : int

This is configured in config.php by server:

      $servers->setValue('auto_number','enable',true|false);

The available mechanisms are: pool: The pool mechanism uses a user-configured entry in the LDAP server to store the last used "number". This mechanism simply fetches and increments and returns that value.

search: The search mechanism will search the LDAP server that has the attribute set. It will then find the smallest value and "fills in the gaps" by incrementing the smallest attribute until an unused value is found.

NOTE: Both mechanisms do NOT prevent race conditions or toe-stomping, so care must be taken when actually creating the entry to check that the number returned here has not been used in the mean time. Note that the two different mechanisms may (will!) return different values as they use different algorithms to arrive at their result. Do not be alarmed if (when!) this is the case.

See config.php.example for more notes on the two mechanisms.

### Parameters

#### $base

`string`

Base to start the search from

#### $attr

`string`

Attribute to query

#### $increment

`boolean`

Increment the result (for pool searches)

#### $filter

`string`

LDAP filter to use (for pool searches)

#### $startmin

### Returns

`int`

## Given a DN string, this returns the 'RDN' portion of the string.

    get_rdn(string $dn, boolean $include_attrs, $decode) : string

For example. given 'cn=Manager,dc=example,dc=com', this function returns 'cn=Manager' (it is really the exact opposite of ds_ldap::getContainer()).

### Parameters

#### $dn

`string`

The DN whose RDN to return.

#### $include_attrs

`boolean`

If true, include attributes in the RDN string. See http://php.net/ldap_explode_dn for details

#### $decode

### Returns

`string`The RDN

## Return the result of a form variable, with optional default

    get_request($attr, $type, $die, $default) : \The

### Parameters

#### $attr

#### $type

#### $die

#### $default

### Returns

`\The`form GET/REQUEST/SESSION/POST variable value or its default

## Returns a HTML id that can be used in the URL after the #.

    htmlid(string $sid, $dn) : string

### Parameters

#### $sid

`string`

The DN to pretty-print.

#### $dn

### Returns

`string`

## Is PLA configured for AJAX display

    isAjaxEnabled()

## Is compression enabled for output

    isCompress()

## Given a string, this function returns true if the string has the format of a DN (ie, looks like "cn=Foo,dc=example,dc=com").

    is_dn_string(string $str) : boolean

Returns false otherwise. The purpose of this function is so that developers can examine a string and know if it looks like a DN, and draw a hyperlink as needed.

(See unit_test.php for test cases)

### Parameters

#### $str

`string`

The attribute to examine for "DNness"

### Returns

`boolean`

## Get whether a string looks like an email address (user@example.com).

    is_mail_string(string $str) : boolean

### Parameters

#### $str

`string`

The string to analyze.

### Returns

`boolean`Returns true if the specified string looks like an email address or false otherwise.

## Get whether a string looks like a web URL (http://www.example.com/)

    is_url_string(string $str) : boolean

### Parameters

#### $str

`string`

The string to analyze.

### Returns

`boolean`Returns true if the specified string looks like a web URL or false otherwise.

## Print an LDAP error message

    ldap_error_msg($msg, $errnum)

### Parameters

#### $msg

#### $errnum

## Converts a little-endian hex-number to one, that 'hexdec' can convert

    littleEndian($hex)

### Parameters

#### $hex

## Sort a multi dimensional array.

    masort(array $data, string $sortby, boolean $rev) : array

### Parameters

#### $data

`array`

Multi demension array passed by reference

#### $sortby

`string`

Comma delimited string of sort keys.

#### $rev

`boolean`

Whether to reverse sort.

### Returns

`array`Sorted multi demension array.

## Fetches whether the user has configured phpLDAPadmin to obfuscate passwords with "*********" when displaying them.

    obfuscate_password_display(string $enc) : boolean

This is configured in config.php thus:

     $config->custom->appearance['obfuscate_password_display'] = true;

Or if it is OK to show encrypted passwords but not clear text passwords

     $config->custom->appearance['show_clear_password'] = false;

### Parameters

#### $enc

`string`

Password encoding type

### Returns

`boolean`

## Given a clear-text password and a hash, this function determines if the clear-text password is the password that was used to generate the hash.

    password_check(String $cryptedpassword, String $plainpassword, $attribute) : Boolean

This is handy to verify a user's password when all that is given is the hash and a "guess".

### Parameters

#### $cryptedpassword

`String`

The hash.

#### $plainpassword

`String`

The password in clear text to test.

#### $attribute

### Returns

`Boolean`True if the clear password matches the hash, and false otherwise.

## This function returns a string automatically generated based on the criteria defined in the array $criteria in config.php

    password_generate()

## Hashes a password and returns the hash based on the specified enc_type.

    password_hash(string $password_clear, string $enc_type) : string

### Parameters

#### $password_clear

`string`

The password to hash in clear text.

#### $enc_type

`string`

Standard LDAP encryption type which must be one of crypt, ext_des, md5crypt, blowfish, md5, sha, smd5, ssha, or clear.

### Returns

`string`The hashed password.

## Return the list of available password types

    password_types()

todo | Dynamically work this list out so we only present hashes that we can encrypt

## Compares 2 DNs.

    pla_compare_dns(string $dn1, string $dn2) : int

If they are equivelant, returns 0, otherwise, returns their sorting order (similar to strcmp()): Returns < 0 if dn1 is less than dn2. Returns > 0 if dn1 is greater than dn2.

The comparison is performed starting with the top-most element of the DN. Thus, the following list:

          ou=people,dc=example,dc=com
          cn=Admin,ou=People,dc=example,dc=com
          cn=Joe,ou=people,dc=example,dc=com
          dc=example,dc=com
          cn=Fred,ou=people,dc=example,dc=org
          cn=Dave,ou=people,dc=example,dc=org

Will be sorted thus using usort( $list, "pla_compare_dns" ):

          dc=com
          dc=example,dc=com
          ou=people,dc=example,dc=com
          cn=Admin,ou=People,dc=example,dc=com
          cn=Joe,ou=people,dc=example,dc=com
          cn=Dave,ou=people,dc=example,dc=org
          cn=Fred,ou=people,dc=example,dc=org

### Parameters

#### $dn1

`string`

The first of two DNs to compare

#### $dn2

`string`

The second of two DNs to compare

### Returns

`int`

## Explode a DN into an array of its RDN parts.

    pla_explode_dn(string $dn, int $with_attributes) : array

NOTE: When a multivalue RDN is passed to ldap_explode_dn, the results returns with 'value + value';

     Array (
       [0] => uid=ppratt
       [1] => ou=People
       [2] => dc=example
       [3] => dc=com
     )

### Parameters

#### $dn

`string`

The DN to explode.

#### $with_attributes

`int`

(optional) Whether to include attribute names (see http://php.net/ldap_explode_dn for details)

### Returns

`array`An array of RDN parts of this format:

## Reverses a DN such that the top-level RDN is first and the bottom-level RDN is last For example: <code> cn=Brigham,ou=People,dc=example,dc=com </code> Becomes: <code> dc=com,dc=example,ou=People,cn=Brigham </code> This makes it possible to sort lists of DNs such that they are grouped by container.

    pla_reverse_dn(string $dn) : string

see | \global\pla_compare_dns
see | \global\pla_explode_dns

### Parameters

#### $dn

`string`

The DN to reverse

### Returns

`string`The reversed DN

## Given an LDAP error number, returns a verbose description of the error.

    pla_verbose_error(string $key) : array

This function parses ldap_error_codes.txt and looks up the specified ldap error number, and returns the verbose message defined in that file.

     Array (
       [title] => "Invalid Credentials"
       [description] => "An invalid username and/or password was supplied to the LDAP server."
     )

### Parameters

#### $key

`string`

The hex error number (ie, "0x42") of the LDAP error of interest.

### Returns

`array`An associative array contianing the error title and description like so:

## Returns an HTML-beautified version of a DN.

    pretty_print_dn(string $dn) : string

Internally, this function makes use of pla_explode_dn() to break the the DN into its components. It then glues them back together with "pretty" HTML. The returned HTML is NOT to be used as a real DN, but simply displayed.

### Parameters

#### $dn

`string`

The DN to pretty-print.

### Returns

`string`

## This is for Opera.

    random_junk()

By putting "random junk" in the query string, it thinks that it does not have a cached version of the page, and will thus fetch the page rather than display the cached version

## Used to generate a random salt for crypt-style passwords.

    random_salt(int $length) : string

Salt strings are used to make pre-built hash cracking dictionaries difficult to use as the hash algorithm uses not only the user's password but also a randomly generated string. The string is stored as the first N characters of the hash for reference of hashing algorithms later.

### Parameters

#### $length

`int`

The length of the salt string to generate.

### Returns

`string`The generated salt string.

## Split an RDN into its attributes

    rdn_explode($rdn)

### Parameters

#### $rdn

## Removes a procedure from a hook, based on a filter.

    remove_hook(\hook_name $hook_name, \priority $hook_function, \hook_function $priority, \rollback_function $rollback_function)

### Parameters

#### $hook_name

`\hook_name`

Name of the hook.

#### $hook_function

`\priority`

Numeric priority. If set, all procedures of that priority will be removed.

#### $priority

`\hook_function`

Name of the procedure function. If set, all procedures that call this function will be removed.

#### $rollback_function

`\rollback_function`

Name of the php rollback function called upon failure. If set, all procedures that call this function as a rollback will be removed.

## Query LDAP and return a hash.

    return_ldap_hash(string $base, string $filter, string $key, array $attrs, boolean $sort) : array

### Parameters

#### $base

`string`

The base DN to use.

#### $filter

`string`

LDAP Query filter.

#### $key

`string`

LDAP attribute to use as key.

#### $attrs

`array`

Attributes to use as values.

#### $sort

`boolean`

Specify false to not sort results by DN or true to have the returned array sorted by DN (uses ksort) or an array of attribute names to sort by attribute values

### Returns

`array`Array of values keyed by $key.

## Runs procedures attached to a hook.

    run_hook(\hook_name $hook_name, \args $args) : true

### Parameters

#### $hook_name

`\hook_name`

Name of hook to run.

#### $args

`\args`

Array of optional arguments set by phpldapadmin. It is normally in a form known by call_user_func_array() :

    [ 'server_id' => 0, 'dn' => 'uid=epoussa,ou=tech,o=corp,o=fr' ]

### Returns

`true`if all procedures returned true, false otherwise.

## Server html select list

    server_select_list($selected, $logged_on, $name, $isVisible, $js)

### Parameters

#### $selected

#### $logged_on

#### $name

#### $isVisible

#### $js

## Caches the specified $item for the specified $index.

    set_cached_item($index, $item, $subitem, $data)

Returns true on success of false on failure.

### Parameters

#### $index

#### $item

#### $subitem

#### $data

## Utility wrapper for setting cookies, which takes into consideration application configuration values.

    set_cookie(string $name, string $val, int $expire, string $dir) : boolean

On success, true is returned. On failure, false is returned.

### Parameters

#### $name

`string`

The name of the cookie to set.

#### $val

`string`

The value of the cookie to set.

#### $expire

`int`

(optional) The duration in seconds of this cookie. If unspecified, $cookie_time is used from config.php

#### $dir

`string`

(optional) The directory value of this cookie (see php.net/setcookie)

### Returns

`boolean`

## Attribute sorting

    sortAttrs($a, $b)

### Parameters

#### $a

#### $b

## Compares two arrays by numerically comparing their 'prority' value.

    sort_array_by_priority(\a $a, \b $b) : \-1

Standard `cmp-like' function.

### Parameters

#### $a

`\a`

First element to compare.

#### $b

`\b`

Second element to compare.

### Returns

`\-1`if priority of first element is smaller than second element priority. 1 otherwise.

## stopwatch()

    stopwatch()

## Given an LDAP OID number, returns a verbose description of the OID.

    support_oid_to_text(string $key) : array

This function parses ldap_supported_oids.txt and looks up the specified OID, and returns the verbose message defined in that file.

     Array (
       [title] => All Operational Attribute
       [ref] => RFC 3673
       [desc] => An LDAP extension which clients may use to request the return of all operational attributes.
     )

### Parameters

#### $key

`string`

The OID number (ie, "1.3.6.1.4.1.4203.1.5.1") of the OID of interest.

### Returns

`array`An associative array contianing the OID title and description like so:

## Issue a debug message via syslog, only if $log_level is set to 'debug' from the config file.

    syslog_debug(\log_string $log_string) : true

### Parameters

#### $log_string

`\log_string`

Log message to send to syslog.

### Returns

`true`on success or if debug log is not activated.

## Issue an error message via syslog.

    syslog_err(\log_string $log_string) : true

### Parameters

#### $log_string

`\log_string`

Log message to send to syslog.

### Returns

`true`on success.

## Verify that syslog logging is activated in the config via the debug->syslog variable and does a call to the syslog() function is it is true.

    syslog_msg(\emergency $emergency, \log_string $log_string)

### Parameters

#### $emergency

`\emergency`

Syslog emergency.

#### $log_string

`\log_string`

String to log.

## Issue a notice message via syslog.

    syslog_notice(\log_string $log_string) : true

### Parameters

#### $log_string

`\log_string`

Log message to send to syslog.

### Returns

`true`on success.

## Issue a warning message via syslog.

    syslog_warning(\log_string $log_string) : true

### Parameters

#### $log_string

`\log_string`

Log message to send to syslog.

### Returns

`true`on success.

## Record a system message.

    system_message($msg, $redirect)

This function can be used as an alternative to generate a system message, if page hasnt yet been defined.

### Parameters

#### $msg

#### $redirect

## Returns the current time as a double (including micro-seconds).

    utime() : double

### Returns

`double`The current time in seconds since the beginning of the UNIX epoch (Midnight Jan. 1, 1970)

### Constants

## APPCONFIG

    APPCONFIG

## CONFDIR

    CONFDIR

## CSSDIR

    CSSDIR

## CSSDIR

    CSSDIR

## DEBUGTMP

    DEBUGTMP

## DEBUGTMPSUB

    DEBUGTMPSUB

## DEBUG_ENABLED

    DEBUG_ENABLED

## DOCDIR

    DOCDIR

## E_STRICT

    E_STRICT

## HOOKSDIR

    HOOKSDIR

## HTDOCDIR

    HTDOCDIR

## IMGDIR

    IMGDIR

## IMGDIR

    IMGDIR

## JSDIR

    JSDIR

## LANGDIR

    LANGDIR

## LIBDIR

    LIBDIR

## LIBDIR

    LIBDIR

## QUERYDIR

    QUERYDIR

## The minimum version of PHP required to run phpLDAPadmin.

    REQUIRED_PHP_VERSION

## TMPLDIR

    TMPLDIR

### Classes and interfaces

# DS¶

This abstract class provides the basic variables and methods.

« More »

# Datastore¶

The list of database sources

« More »

# ldap_pla¶

This abstract class provides variables and methods for LDAP datastores for use by PLA.

« More »

# myldap¶

This abstract class provides the basic variables and methods for LDAP datastores

« More »

### Classes and interfaces

# Export¶

Export Class

« More »

# ExportCSV¶

Export entries to CSV

« More »

# ExportDSML¶

Export entries to DSML v.1

« More »

# ExportLDIF¶

Export from LDAP using an LDIF format

« More »

# ExportVCARD¶

Export entries to VCARD v2.1

« More »

# Exporter¶

Exporter Class

« More »

### Classes and interfaces

# Import¶

Import Class

« More »

# ImportLDIF¶

Import entries from LDIF

« More »

# Importer¶

Importer Class

« More »

### Functions

## build_tree()

    build_tree($server, $dn, $buildtree)

### Parameters

#### $server

#### $dn

#### $buildtree

## copy_dn()

    copy_dn($serverSRC, $serverDST, $dnSRC, $dnDST, $remove)

### Parameters

#### $serverSRC

#### $serverDST

#### $dnSRC

#### $dnDST

#### $remove

## display_pla_parse_error()

    display_pla_parse_error($request)

### Parameters

#### $request

## getMustAttrs()

    getMustAttrs($oclasses)

### Parameters

#### $oclasses

## Helper function for fetching the line end format.

    get_line_end_format() : String

### Returns

`String`'win', 'unix', or 'mac' based on the user's browser..

## Gets the USER_AGENT string from the $_SERVER array, all in lower case in an E_NOTICE safe manner.

    get_user_agent_string() : string | false

### Returns

`string` `false`The user agent string as reported by the browser.

## Determine the OS for the browser

    is_browser($type)

### Parameters

#### $type

## pla_rdelete()

    pla_rdelete($server, $dn)

### Parameters

#### $server

#### $dn

## r_copy_dn()

    r_copy_dn($serverSRC, $serverDST, $snapshottree, $dnSRC, $dnDST, $remove)

### Parameters

#### $serverSRC

#### $serverDST

#### $snapshottree

#### $dnSRC

#### $dnDST

#### $remove

### Classes and interfaces

# block¶

This class draws a block.

« More »

# page¶

This class controls the final output to the browser.

« More »

### Constants

## We will perform some sanity checking here, since this file is normally loaded first when users first access the application.

    APPCONFIG

## LIBDIR

    LIBDIR

### Classes and interfaces

# Queries¶

Query Class

« More »

# Query¶

Query Class

« More »

### Classes and interfaces

# AttributeType¶

Represents an LDAP AttributeType

« More »

# MatchingRule¶

Represents an LDAP MatchingRule

« More »

# MatchingRuleUse¶

Represents an LDAP schema matchingRuleUse entry

« More »

# ObjectClass¶

Represents an LDAP objectClass

« More »

# ObjectClass_ObjectClassAttribute¶

A simple class for representing AttributeTypes used only by the ObjectClass class.

« More »

# SchemaItem¶

Generic parent class for all schema items.

« More »

# Syntax¶

Represents an LDAP Syntax

« More »

### Functions

## The only function which should be called by a user

    app_session_start() : boolean

see | \global\common.php
see | \global\APP_SESSION_ID

### Returns

`boolean`Returns true if the session was started the first time

### Classes and interfaces

# Attribute¶

Represents an attribute of a template.

« More »

# AttributeFactory¶

AttributeFactory Class

« More »

# BinaryAttribute¶

Represents an attribute whose values are binary

« More »

# DateAttribute¶

Represents an attribute whose values are dates

« More »

# DnAttribute¶

Represents an attribute whose values are DNs

« More »

# GidAttribute¶

Represents a 'gidNumber' attribute

« More »

# JpegAttribute¶

Represents an attribute whose values are jpeg pictures

« More »

# MassRender¶

TemplateRender class

« More »

# MultiLineAttribute¶

Represents a attribute whose values are multiline text

« More »

# ObjectClassAttribute¶

Represents an 'objectClass' attribute

« More »

# PageRender¶

PageRender class

« More »

# PasswordAttribute¶

Represents an attribute whose values are passwords

« More »

# QueryRender¶

QueryRender class

« More »

# RandomPasswordAttribute¶

Represents an attribute whose values are random passwords

« More »

# SambaPasswordAttribute¶

Represents an attribute whose values are SAMBA passwords

« More »

# SelectionAttribute¶

Represents an attribute whose values are in a predefined list

« More »

# ShadowAttribute¶

Represents a shadow date attribute

« More »

# Template¶

Template Class

« More »

# TemplateRender¶

TemplateRender class

« More »

# Templates¶

Templates Class

« More »

# Visitor¶

Abstract Visitor class

« More »

# xmlTemplate¶

XML Template Class

« More »

# xmlTemplates¶

XML Templates Class

« More »

### Classes and interfaces

# AJAXTree¶

This class implements an AJAX based tree.

« More »

# Config¶

The config class contains all our configuration settings for a session.

« More »

# HTMLTree¶

This class implements a straight HTML tree - no AJAX rendering is used.

« More »

# Tree¶

Abstract class which represents the LDAP tree view ; the draw() method must be implemented by subclasses

« More »

# TreeItem¶

Represents an item in the tree.

« More »

### Classes and interfaces

# xml2array¶

XML Parser

« More »