1219 lines
29 KiB
Plaintext
1219 lines
29 KiB
Plaintext
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V4.1//EN" []>
|
|
|
|
<article lang="fr">
|
|
<articleinfo>
|
|
<title>Hook system specification for phpldapadmin</title>
|
|
<author>
|
|
<firstname>Benjamin</firstname>
|
|
<surname>Drieu</surname>
|
|
<affiliation>
|
|
<address><email>Benjamin.Drieu@fr.alcove.com</email></address>
|
|
</affiliation>
|
|
</author>
|
|
|
|
<releaseinfo>Version 1.0</releaseinfo>
|
|
|
|
<abstract>
|
|
<para>This document describes the hook system developed for
|
|
phpldapadmin.</para>
|
|
</abstract>
|
|
|
|
<copyright><year>2005</year><holder>Alcôve</holder></copyright>
|
|
|
|
</articleinfo>
|
|
|
|
<section>
|
|
<title>Implementation</title>
|
|
|
|
<section>
|
|
<title>run_hook</title>
|
|
|
|
<section>
|
|
<title>Synopsis</title>
|
|
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef><function>run_hook</function></funcdef>
|
|
<paramdef>
|
|
<parameter><replaceable>hook_name</replaceable></parameter>,
|
|
<parameter><replaceable>args</replaceable></parameter>,
|
|
</paramdef>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
|
|
<glosslist>
|
|
<glossentry>
|
|
<glossterm>hook_name</glossterm>
|
|
<glossdef>
|
|
<para>name of hook to run.</para>
|
|
</glossdef>
|
|
</glossentry>
|
|
<glossentry>
|
|
<glossterm>args</glossterm>
|
|
<glossdef>
|
|
<para>Array of optional arguments set by phpldapadmin.
|
|
It is normally in a form known by
|
|
call_user_func_array() :
|
|
<programlisting>[ 'server_id' => 0,
|
|
'dn' => 'uid=epoussa,ou=tech,o=corp,o=fr' ]</programlisting></para>
|
|
</glossdef>
|
|
</glossentry>
|
|
</glosslist>
|
|
|
|
</section>
|
|
|
|
<section>
|
|
<title>Usage</title>
|
|
|
|
<para>Runs procedures attached to a hook. This is normally
|
|
called from the phpldapadmin code. But user can define hooks
|
|
in her code if needed.</para>
|
|
|
|
<para>The mechanism is quite simple : hooks are added via the
|
|
<function>add_hook()</function> function, using a numeric
|
|
priority to sort order or invocation. The
|
|
<function>run_hook()</function> function will run them
|
|
sequentially from the lowest priority to the highest priotiry
|
|
untill a procedure returns a non true value. In that case,
|
|
rollbacks procedures that are defined together with procedures
|
|
are executed in reverse order. Rollbacks are mainly used to
|
|
keep consistency and achieve failsafe systems.</para>
|
|
|
|
<example>
|
|
<title>Example of invocation of run_hook.</title>
|
|
|
|
<para>Phpldapadamin runs a hook that contains three
|
|
procedures, a, b, c and d of priority 0, 10, 20 and 30.
|
|
Procedure a is executed first and after that, b is executed
|
|
if no error occurs. If b does not returns an error, c is
|
|
executed. Now, let imagine that c returns false. In that
|
|
case, c's rollback is executed, then b's rollback and
|
|
finally a's rollback.</para>
|
|
</example>
|
|
</section>
|
|
|
|
</section>
|
|
|
|
<section>
|
|
<title>add_hook</title>
|
|
|
|
<section>
|
|
<title>Synopsis</title>
|
|
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef><function>add_hook</function></funcdef>
|
|
<paramdef>
|
|
<parameter><replaceable>hook_name</replaceable></parameter>,
|
|
<parameter><replaceable>priority</replaceable></parameter>,
|
|
<parameter><replaceable>hook_function</replaceable></parameter>,
|
|
<parameter><replaceable>rollback_function</replaceable></parameter>,
|
|
</paramdef>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
|
|
<glosslist>
|
|
<glossentry>
|
|
<glossterm>hook_name</glossterm>
|
|
<glossdef>
|
|
<para>name of hook to add a procedure to.</para>
|
|
</glossdef>
|
|
</glossentry>
|
|
<glossentry>
|
|
<glossterm>priority</glossterm>
|
|
<glossdef>
|
|
<para>Numeric priority. Lowest means procedure will be
|
|
executed before.</para>
|
|
</glossdef>
|
|
</glossentry>
|
|
<glossentry>
|
|
<glossterm>hook_function</glossterm>
|
|
<glossdef>
|
|
<para>Name of the php procedure called upon hook
|
|
trigger. Procedure will called via the
|
|
call_user_func_array() php function with pre-set
|
|
arguments that depends on hook type.</para>
|
|
</glossdef>
|
|
</glossentry>
|
|
<glossentry>
|
|
<glossterm>rollback_function</glossterm>
|
|
<glossdef>
|
|
<para>Name of the php procedure called upon hook trigger
|
|
when a procedure failed. Procedure will called via the
|
|
call_user_func_array() php function with pre-set
|
|
arguments that depends on hook type.</para>
|
|
</glossdef>
|
|
</glossentry>
|
|
</glosslist>
|
|
|
|
</section>
|
|
|
|
<section>
|
|
<title>Usage</title>
|
|
|
|
<para>Pushes a procedure in the procedure lists of a hook for
|
|
later execution.</para>
|
|
</section>
|
|
|
|
</section>
|
|
|
|
<section>
|
|
<title>remove_hook</title>
|
|
|
|
<section>
|
|
<title>Synopsis</title>
|
|
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef><function>remove_hook</function></funcdef>
|
|
<paramdef>
|
|
<parameter><replaceable>hook_name</replaceable></parameter>,
|
|
<parameter><replaceable>priority</replaceable></parameter>,
|
|
<parameter><replaceable>hook_function</replaceable></parameter>,
|
|
<parameter><replaceable>rollback_function</replaceable></parameter>,
|
|
</paramdef>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
|
|
<glosslist>
|
|
<glossentry>
|
|
<glossterm>hook_name</glossterm>
|
|
<glossdef>
|
|
<para>name of hook to remove procedures from.</para>
|
|
</glossdef>
|
|
</glossentry>
|
|
<glossentry>
|
|
<glossterm>priority</glossterm>
|
|
<glossdef>
|
|
<para>Numeric priority. If set, all procedures of that
|
|
priority will be removed. </para>
|
|
</glossdef>
|
|
</glossentry>
|
|
<glossentry>
|
|
<glossterm>hook_function</glossterm>
|
|
<glossdef>
|
|
<para>Name of the php procedure called upon hook
|
|
trigger. If set, all procedures that call this function
|
|
will be removed.
|
|
</glossdef>
|
|
</glossentry>
|
|
<glossentry>
|
|
<glossterm>rollback_function</glossterm>
|
|
<glossdef>
|
|
<para>Name of the php rollback function called upon
|
|
failure. If set, all procedures that call this function
|
|
as a rollback will be removed.</para>
|
|
</glossdef>
|
|
</glossentry>
|
|
</glosslist>
|
|
|
|
</section>
|
|
|
|
<section>
|
|
<title>Usage</title>
|
|
|
|
<para>Removes a procedure from a hook, based on a filter. All
|
|
arguments passed after hook_name are optional and can be
|
|
omited. If specified, they are used to as a filter: if a
|
|
procedure for this hook matches at lease one of these
|
|
parameters, it will be removed.</para>
|
|
</section>
|
|
|
|
</section>
|
|
|
|
|
|
<section>
|
|
<title>clear_hooks</title>
|
|
|
|
<section>
|
|
<title>Synopsis</title>
|
|
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef><function>clear_hook</function></funcdef>
|
|
<paramdef>
|
|
<parameter><replaceable>hook_name</replaceable></parameter>
|
|
</paramdef>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
|
|
<glosslist>
|
|
<glossentry>
|
|
<glossterm>hook_name</glossterm>
|
|
<glossdef>
|
|
<para>name of hook to clear.</para>
|
|
</glossdef>
|
|
</glossentry>
|
|
</glosslist>
|
|
|
|
</section>
|
|
|
|
<section>
|
|
<title>Usage</title>
|
|
|
|
<para>Remove all procedures from a hook. If this hook is
|
|
called after a call to clear_hook, no procedures will be
|
|
called.</para>
|
|
</section>
|
|
|
|
</section>
|
|
|
|
|
|
|
|
</section>
|
|
|
|
<section>
|
|
<title>Hooks reference</title>
|
|
|
|
<para></para>
|
|
|
|
<section>
|
|
<title>post_attr_modify</title>
|
|
|
|
<section>
|
|
<title>Synopsis</title>
|
|
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef><function>post_attr_modify</function></funcdef>
|
|
<paramdef>
|
|
<parameter><replaceable>server_id</replaceable></parameter>,
|
|
<parameter><replaceable>dn</replaceable></parameter>,
|
|
<parameter><replaceable>attr_name</replaceable></parameter>,
|
|
<parameter><replaceable>new_val</replaceable></parameter>,
|
|
</paramdef>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
|
|
<glosslist>
|
|
<glossentry>
|
|
<glossterm>server_id</glossterm>
|
|
<glossdef>
|
|
<para>numeric id of the LDAP server.</para>
|
|
</glossdef>
|
|
</glossentry>
|
|
<glossentry>
|
|
<glossterm>dn</glossterm>
|
|
<glossdef>
|
|
<para>DN of modified entry.</para>
|
|
</glossdef>
|
|
</glossentry>
|
|
<glossentry>
|
|
<glossterm>attr_name</glossterm>
|
|
<glossdef>
|
|
<para>name of attribute modified.</para>
|
|
</glossdef>
|
|
</glossentry>
|
|
<glossentry>
|
|
<glossterm>new_val</glossterm>
|
|
<glossdef>
|
|
<para>value that has been set by user, normally a
|
|
string.</para>
|
|
</glossdef>
|
|
</glossentry>
|
|
</glosslist>
|
|
|
|
</section>
|
|
|
|
<section>
|
|
<title>Usage</title>
|
|
|
|
<para>This hook is triggered for every attribute changed by
|
|
phpldapadmin after by user interaction. Function return value
|
|
is not used by phpldapadmin since this hooks comes AFTER
|
|
attribute has been modified. Thought, return value may
|
|
trigger rollbacks.</para>
|
|
</section>
|
|
|
|
</section>
|
|
|
|
|
|
<section>
|
|
<title>post_display_update_array</title>
|
|
|
|
<section>
|
|
<title>Synopsis</title>
|
|
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef><function>post_display_update_array</function></funcdef>
|
|
<paramdef>
|
|
<parameter><replaceable>server_id</replaceable></parameter>,
|
|
<parameter><replaceable>dn</replaceable></parameter>,
|
|
</paramdef>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
|
|
<glosslist>
|
|
<glossentry>
|
|
<glossterm>server_id</glossterm>
|
|
<glossdef>
|
|
<para>numeric id of the LDAP server.</para>
|
|
</glossdef>
|
|
</glossentry>
|
|
<glossentry>
|
|
<glossterm>dn</glossterm>
|
|
<glossdef>
|
|
<para>DN of modified entry.</para>
|
|
</glossdef>
|
|
</glossentry>
|
|
<glossentry>
|
|
<glossterm>update_array</glossterm>
|
|
<glossdef>
|
|
<para>reference to an array containing all entries that
|
|
are to be modified, in the form:
|
|
<programlisting>
|
|
[ 'cn' => 'El Poussah Haroun',
|
|
'description' => 'Calife',
|
|
'diskQuota' => '10000' ]
|
|
</programlisting>
|
|
</para>
|
|
</glossdef>
|
|
</glossentry>
|
|
<glossentry>
|
|
<glossterm>index</glossterm>
|
|
<glossdef>
|
|
<para>reference to position of entry in update table.</para>
|
|
</glossdef>
|
|
</glossentry>
|
|
</glosslist>
|
|
|
|
</section>
|
|
|
|
<section>
|
|
<title>Usage</title>
|
|
|
|
<para>This hook is triggered by phpldapadmin after user has
|
|
modified attributes in the editing form and before she commits
|
|
changes in the confirmation form. This hooks is run after an
|
|
update array of changes is build and its content is displayed
|
|
into the commit form. As a reference of this update array is
|
|
passed to this hook, it is possible to add, remove or change
|
|
entries from it, thus allowing some manual tweaking before
|
|
data is passed to phpldapadmin.</para>
|
|
|
|
<para>An additional reference to a the number of rows already
|
|
displayed is passed, allowing hook to change its behaviour,
|
|
like displaying different color for odd or even rows.</para>
|
|
</section>
|
|
|
|
</section>
|
|
|
|
|
|
<section>
|
|
<title>post_entry_create</title>
|
|
|
|
<section>
|
|
<title>Synopsis</title>
|
|
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef><function>post_entry_create</function></funcdef>
|
|
<paramdef>
|
|
<parameter><replaceable>server_id</replaceable></parameter>,
|
|
<parameter><replaceable>dn</replaceable></parameter>,
|
|
<parameter><replaceable>attrs</replaceable></parameter>,
|
|
</paramdef>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
|
|
<glosslist>
|
|
<glossentry>
|
|
<glossterm>server_id</glossterm>
|
|
<glossdef>
|
|
<para>numeric id of the LDAP server.</para>
|
|
</glossdef>
|
|
</glossentry>
|
|
<glossentry>
|
|
<glossterm>dn</glossterm>
|
|
<glossdef>
|
|
<para>DN of modified entry.</para>
|
|
</glossdef>
|
|
</glossentry>
|
|
<glossentry>
|
|
<glossterm>attrs</glossterm>
|
|
<glossdef>
|
|
<para>an array containing all attributes of created
|
|
entry, in the form:
|
|
<programlisting>
|
|
[ 'cn' => 'El Poussah Haroun',
|
|
'description' => 'Calife',
|
|
'diskQuota' => '10000',
|
|
... ]</programlisting></para>
|
|
</glossdef>
|
|
</glossentry>
|
|
</glosslist>
|
|
|
|
</section>
|
|
|
|
<section>
|
|
<title>Usage</title>
|
|
|
|
<para>This hook is triggered after an entry has been created.
|
|
Its return value is not used by phpldapadmin but it can still
|
|
trigger rollbacks.</para>
|
|
</section>
|
|
|
|
</section>
|
|
|
|
|
|
<section>
|
|
<title>post_entry_delete</title>
|
|
|
|
<section>
|
|
<title>Synopsis</title>
|
|
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef><function>post_entry_delete</function></funcdef>
|
|
<paramdef>
|
|
<parameter><replaceable>server_id</replaceable></parameter>,
|
|
<parameter><replaceable>dn</replaceable></parameter>,
|
|
</paramdef>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
|
|
<glosslist>
|
|
<glossentry>
|
|
<glossterm>server_id</glossterm>
|
|
<glossdef>
|
|
<para>numeric id of the LDAP server.</para>
|
|
</glossdef>
|
|
</glossentry>
|
|
<glossentry>
|
|
<glossterm>dn</glossterm>
|
|
<glossdef>
|
|
<para>DN of deleted entry.</para>
|
|
</glossdef>
|
|
</glossentry>
|
|
</glosslist>
|
|
|
|
</section>
|
|
|
|
<section>
|
|
<title>Usage</title>
|
|
|
|
<para>This hook is triggered after an entry has been deleted.</para>
|
|
</section>
|
|
|
|
</section>
|
|
|
|
|
|
<section>
|
|
<title>post_rename_entry</title>
|
|
|
|
<section>
|
|
<title>Synopsis</title>
|
|
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef><function>post_rename_entry</function></funcdef>
|
|
<paramdef>
|
|
<parameter><replaceable>server_id</replaceable></parameter>,
|
|
<parameter><replaceable>new_dn</replaceable></parameter>,
|
|
<parameter><replaceable>old_dn</replaceable></parameter>,
|
|
</paramdef>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
|
|
<glosslist>
|
|
<glossentry>
|
|
<glossterm>server_id</glossterm>
|
|
<glossdef>
|
|
<para>numeric id of the LDAP server.</para>
|
|
</glossdef>
|
|
</glossentry>
|
|
<glossentry>
|
|
<glossterm>old_dn</glossterm>
|
|
<glossdef>
|
|
<para>Previous DN of modified entry.</para>
|
|
</glossdef>
|
|
</glossentry>
|
|
<glossentry>
|
|
<glossterm>new_dn</glossterm>
|
|
<glossdef>
|
|
<para>New DN of modified entry.</para>
|
|
</glossdef>
|
|
</glossentry>
|
|
</glosslist>
|
|
|
|
</section>
|
|
|
|
<section>
|
|
<title>Usage</title>
|
|
|
|
<para>This hook is triggered by phpldapadmin after an entry
|
|
has been renamed. Both dn variables are string representation
|
|
of old DN.</para>
|
|
</section>
|
|
|
|
</section>
|
|
|
|
|
|
<section>
|
|
<title>post_session_init</title>
|
|
|
|
<section>
|
|
<title>Synopsis</title>
|
|
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef><function>post_session_init</function></funcdef>
|
|
<paramdef>
|
|
</paramdef>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
|
|
</section>
|
|
|
|
<section>
|
|
<title>Usage</title>
|
|
|
|
<para>This hook is triggered just after an user has
|
|
connected.</para>
|
|
</section>
|
|
|
|
</section>
|
|
|
|
|
|
<section>
|
|
<title>post_update</title>
|
|
|
|
<section>
|
|
<title>Synopsis</title>
|
|
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef><function>post_update</function></funcdef>
|
|
<paramdef>
|
|
<parameter><replaceable>server_id</replaceable></parameter>,
|
|
<parameter><replaceable>dn</replaceable></parameter>,
|
|
<parameter><replaceable>update_array</replaceable></parameter>,
|
|
</paramdef>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
|
|
<glosslist>
|
|
<glossentry>
|
|
<glossterm>server_id</glossterm>
|
|
<glossdef>
|
|
<para>numeric id of the LDAP server.</para>
|
|
</glossdef>
|
|
</glossentry>
|
|
<glossentry>
|
|
<glossterm>dn</glossterm>
|
|
<glossdef>
|
|
<para>DN of modified entry.</para>
|
|
</glossdef>
|
|
</glossentry>
|
|
<glossentry>
|
|
<glossterm>update_array</glossterm>
|
|
<glossdef>
|
|
<para>reference to an array containing all entries that
|
|
are to be modified, in the form:
|
|
<programlisting>
|
|
[ 'cn' => 'El Poussah Haroun',
|
|
'description' => 'Calife',
|
|
'diskQuota' => '10000' ]
|
|
</programlisting>
|
|
</para>
|
|
</glossdef>
|
|
</glossentry>
|
|
</glosslist>
|
|
|
|
</section>
|
|
|
|
<section>
|
|
<title>Usage</title>
|
|
|
|
<para>This hook is triggered after an entry has been
|
|
modified. It is run after all post_attr_modify hook.</para>
|
|
</section>
|
|
|
|
</section>
|
|
|
|
|
|
<section>
|
|
<title>post_update_array_processing</title>
|
|
|
|
<section>
|
|
<title>Synopsis</title>
|
|
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef><function>post_update_array_processing</function></funcdef>
|
|
<paramdef>
|
|
<parameter><replaceable>server_id</replaceable></parameter>,
|
|
<parameter><replaceable>dn</replaceable></parameter>,
|
|
<parameter><replaceable>update_array</replaceable></parameter>,
|
|
</paramdef>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
|
|
<glosslist>
|
|
<glossentry>
|
|
<glossterm>server_id</glossterm>
|
|
<glossdef>
|
|
<para>numeric id of the LDAP server.</para>
|
|
</glossdef>
|
|
</glossentry>
|
|
<glossentry>
|
|
<glossterm>dn</glossterm>
|
|
<glossdef>
|
|
<para>DN of modified entry.</para>
|
|
</glossdef>
|
|
</glossentry>
|
|
<glossentry>
|
|
<glossterm>update_array</glossterm>
|
|
<glossdef>
|
|
<para>reference to an array containing all entries that
|
|
are to be modified, in the form:
|
|
<programlisting>
|
|
[ 'cn' => 'El Poussah Haroun',
|
|
'description' => 'Calife',
|
|
'diskQuota' => '10000' ]
|
|
</programlisting>
|
|
</para>
|
|
</glossdef>
|
|
</glossentry>
|
|
</glosslist>
|
|
|
|
</section>
|
|
|
|
<section>
|
|
<title>Usage</title>
|
|
|
|
<para>This hook is triggered by phpldapadmin after user has
|
|
modified attributes in the editing form and before she commits
|
|
changes in the confirmation form. This hooks is run BEFORE an
|
|
update array of changes is build and its content is displayed
|
|
into the commit form. As a reference of this update array is
|
|
passed to this hook, it is possible to add, remove or change
|
|
entries from it, thus allowing some manual tweaking before
|
|
data is displayed in commit confirmation form.</para>
|
|
|
|
</section>
|
|
|
|
</section>
|
|
|
|
|
|
<section>
|
|
<title>pre_attr_add</title>
|
|
|
|
<section>
|
|
<title>Synopsis</title>
|
|
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef><function>pre_attr_add</function></funcdef>
|
|
<paramdef>
|
|
<parameter><replaceable>server_id</replaceable></parameter>,
|
|
<parameter><replaceable>dn</replaceable></parameter>,
|
|
<parameter><replaceable>attr_name</replaceable></parameter>,
|
|
<parameter><replaceable>new_value</replaceable></parameter>
|
|
</paramdef>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
|
|
<glosslist>
|
|
<glossentry>
|
|
<glossterm>server_id</glossterm>
|
|
<glossdef>
|
|
<para>numeric id of the LDAP server.</para>
|
|
</glossdef>
|
|
</glossentry>
|
|
<glossentry>
|
|
<glossterm>dn</glossterm>
|
|
<glossdef>
|
|
<para>DN of modified entry.</para>
|
|
</glossdef>
|
|
</glossentry>
|
|
<glossentry>
|
|
<glossterm>attr_name</glossterm>
|
|
<glossdef>
|
|
<para>name of modified attribute./para>
|
|
</glossdef>
|
|
</glossentry>
|
|
<glossentry>
|
|
<glossterm>new_value</glossterm>
|
|
<glossdef>
|
|
<para>new value for attribute.</para>
|
|
</glossdef>
|
|
</glossentry>
|
|
</glosslist>
|
|
|
|
</section>
|
|
|
|
<section>
|
|
<title>Usage</title>
|
|
|
|
<para>This hook is triggered before an attribute is changed.
|
|
If it returns something else than <constant>true</constant>,
|
|
attribute change fails and nothing is changed for this
|
|
attribute and phpldapadmin adds this attribute to the
|
|
failed_attrs parameter. This parameter can be used later by
|
|
modification templates to display attributes that
|
|
failed.</para>
|
|
</section>
|
|
|
|
</section>
|
|
|
|
|
|
<section>
|
|
<title>pre_attr_modify</title>
|
|
|
|
<section>
|
|
<title>Synopsis</title>
|
|
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef><function>pre_attr_modify</function></funcdef>
|
|
<paramdef>
|
|
<parameter><replaceable>server_id</replaceable></parameter>,
|
|
<parameter><replaceable>dn</replaceable></parameter>,
|
|
<parameter><replaceable>attr_name</replaceable></parameter>,
|
|
<parameter><replaceable>new_val</replaceable></parameter>,
|
|
</paramdef>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
|
|
<glosslist>
|
|
<glossentry>
|
|
<glossterm>server_id</glossterm>
|
|
<glossdef>
|
|
<para>numeric id of the LDAP server.</para>
|
|
</glossdef>
|
|
</glossentry>
|
|
<glossentry>
|
|
<glossterm>dn</glossterm>
|
|
<glossdef>
|
|
<para>DN of modified entry.</para>
|
|
</glossdef>
|
|
</glossentry>
|
|
<glossentry>
|
|
<glossterm>attr_name</glossterm>
|
|
<glossdef>
|
|
<para>name of attribute modified.</para>
|
|
</glossdef>
|
|
</glossentry>
|
|
<glossentry>
|
|
<glossterm>new_val</glossterm>
|
|
<glossdef>
|
|
<para>value that has been set by user, normally a
|
|
string.</para>
|
|
</glossdef>
|
|
</glossentry>
|
|
</glosslist>
|
|
|
|
</section>
|
|
|
|
<section>
|
|
<title>Usage</title>
|
|
|
|
<para>This hook is triggered for every attribute changed by
|
|
phpldapadmin after by user interaction BEFORE it is changed.
|
|
If this hook returns a value different from true, attribute is
|
|
not changed and it is added to a
|
|
<varname>failed_attr</varname> array that can be later
|
|
processed by other hooks or by forms. Rollback can be
|
|
triggered too.</para>
|
|
</section>
|
|
|
|
</section>
|
|
|
|
|
|
<section>
|
|
<title>pre_connect</title>
|
|
|
|
<section>
|
|
<title>Synopsis</title>
|
|
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef><function>pre_connect</function></funcdef>
|
|
<paramdef>
|
|
<parameter><replaceable>server_id</replaceable></parameter>,
|
|
<parameter><replaceable>anonymous</replaceable></parameter>,
|
|
<parameter><replaceable>use_cache</replaceable></parameter>,
|
|
</paramdef>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
|
|
<glosslist>
|
|
<glossentry>
|
|
<glossterm>server_id</glossterm>
|
|
<glossdef>
|
|
<para>numeric id of the LDAP server.</para>
|
|
</glossdef>
|
|
</glossentry>
|
|
<glossentry>
|
|
<glossterm>anonymous</glossterm>
|
|
<glossdef>
|
|
<para>true if connection is anonymous.</para>
|
|
</glossdef>
|
|
</glossentry>
|
|
<glossentry>
|
|
<glossterm>use_cache</glossterm>
|
|
<glossdef>
|
|
<para>true if connection is cached and is not closed is reused.</para>
|
|
</glossdef>
|
|
</glossentry>
|
|
</glosslist>
|
|
|
|
</section>
|
|
|
|
<section>
|
|
<title>Usage</title>
|
|
|
|
<para>This hook is triggered by phpldapadmin every time it
|
|
needs to make a connection to a LDAP server using
|
|
pla_ldap_connect function.</para>
|
|
</section>
|
|
|
|
</section>
|
|
|
|
|
|
<section>
|
|
<title>pre_display_update_array</title>
|
|
|
|
<section>
|
|
<title>Synopsis</title>
|
|
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef><function>pre_display_update_array</function></funcdef>
|
|
<paramdef>
|
|
<parameter><replaceable>server_id</replaceable></parameter>,
|
|
<parameter><replaceable>dn</replaceable></parameter>,
|
|
<parameter><replaceable>update_array</replaceable></parameter>,
|
|
</paramdef>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
|
|
<glosslist>
|
|
<glossentry>
|
|
<glossterm>server_id</glossterm>
|
|
<glossdef>
|
|
<para>numeric id of the LDAP server.</para>
|
|
</glossdef>
|
|
</glossentry>
|
|
<glossentry>
|
|
<glossterm>dn</glossterm>
|
|
<glossdef>
|
|
<para>DN of modified entry.</para>
|
|
</glossdef>
|
|
</glossentry>
|
|
<glossentry>
|
|
<glossterm>update_array</glossterm>
|
|
<glossdef>
|
|
<para>reference to an array containing all entries that
|
|
are to be modified, in the form:
|
|
<programlisting>
|
|
[ 'cn' => 'El Poussah Haroun',
|
|
'description' => 'Calife',
|
|
'diskQuota' => '10000' ]
|
|
</programlisting>
|
|
</para>
|
|
</glossdef>
|
|
</glossentry>
|
|
</glosslist>
|
|
|
|
</section>
|
|
|
|
<section>
|
|
<title>Usage</title>
|
|
|
|
<para>This hook is triggered by phpldapadmin after user has
|
|
modified attributes in the editing form and before she commits
|
|
changes in the confirmation form. This hooks is run after an
|
|
update array of changes is build and BEFORE its content is
|
|
displayed into the commit form. As a reference of this update
|
|
array is passed to this hook, it is possible to add, remove or
|
|
change entries from it, thus allowing some manual tweaking
|
|
before data is displayed in commit confirmation form.</para>
|
|
|
|
</section>
|
|
|
|
</section>
|
|
|
|
|
|
<section>
|
|
<title>pre_entry_create</title>
|
|
|
|
<section>
|
|
<title>Synopsis</title>
|
|
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef><function>pre_entry_create</function></funcdef>
|
|
<paramdef>
|
|
<parameter><replaceable>server_id</replaceable></parameter>,
|
|
<parameter><replaceable>dn</replaceable></parameter>,
|
|
<parameter><replaceable>attrs</replaceable></parameter></paramdef>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
|
|
<glosslist>
|
|
<glossentry>
|
|
<glossterm>server_id</glossterm>
|
|
<glossdef>
|
|
<para>numeric id of the LDAP server.</para>
|
|
</glossdef>
|
|
</glossentry>
|
|
<glossentry>
|
|
<glossterm>dn</glossterm>
|
|
<glossdef>
|
|
<para>DN of modified entry.</para>
|
|
</glossdef>
|
|
</glossentry>
|
|
<glossentry>
|
|
<glossterm>attrs</glossterm>
|
|
<glossdef>
|
|
<para>an array containing all attributes of requested
|
|
entry, in the form:
|
|
<programlisting>
|
|
[ 'cn' => 'El Poussah Haroun',
|
|
'description' => 'Calife',
|
|
'diskQuota' => '10000',
|
|
... ]</programlisting></para>
|
|
</glossdef>
|
|
</glossentry>
|
|
</glosslist>
|
|
|
|
</section>
|
|
|
|
<section>
|
|
<title>Usage</title>
|
|
|
|
<para>This hook is triggered BEFORE an entry is created. Its
|
|
return value determines whether phpldapadmin will create entry
|
|
or not. If not true, entry will not be created and rollbacks
|
|
will be triggered.</para>
|
|
|
|
</section>
|
|
|
|
</section>
|
|
|
|
|
|
<section>
|
|
<title>pre_entry_delete</title>
|
|
|
|
<section>
|
|
<title>Synopsis</title>
|
|
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef><function>pre_entry_delete</function></funcdef>
|
|
<paramdef>
|
|
<parameter><replaceable>server_id</replaceable></parameter>,
|
|
<parameter><replaceable>dn</replaceable></parameter>,
|
|
</paramdef>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
|
|
<glosslist>
|
|
<glossentry>
|
|
<glossterm>server_id</glossterm>
|
|
<glossdef>
|
|
<para>numeric id of the LDAP server.</para>
|
|
</glossdef>
|
|
</glossentry>
|
|
<glossentry>
|
|
<glossterm>dn</glossterm>
|
|
<glossdef>
|
|
<para>DN of modified entry.</para>
|
|
</glossdef>
|
|
</glossentry>
|
|
</glosslist>
|
|
|
|
</section>
|
|
|
|
<section>
|
|
<title>Usage</title>
|
|
|
|
<para>This hook is triggered BEFORE an entry is deleted. If
|
|
it returns a false value, entry will not be deleted and an
|
|
error will be displayed.</para>
|
|
|
|
</section>
|
|
|
|
</section>
|
|
|
|
|
|
<section>
|
|
<title>pre_rename_entry</title>
|
|
|
|
<section>
|
|
<title>Synopsis</title>
|
|
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef><function>pre_rename_entry</function></funcdef>
|
|
<paramdef>
|
|
<parameter><replaceable>server_id</replaceable></parameter>,
|
|
<parameter><replaceable>dn</replaceable></parameter>,
|
|
</paramdef>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
|
|
<glosslist>
|
|
<glossentry>
|
|
<glossterm>server_id</glossterm>
|
|
<glossdef>
|
|
<para>numeric id of the LDAP server.</para>
|
|
</glossdef>
|
|
</glossentry>
|
|
<glossentry>
|
|
<glossterm>old_dn</glossterm>
|
|
<glossdef>
|
|
<para>Previous DN of modified entry.</para>
|
|
</glossdef>
|
|
</glossentry>
|
|
<glossentry>
|
|
<glossterm>new_dn</glossterm>
|
|
<glossdef>
|
|
<para>New DN of modified entry.</para>
|
|
</glossdef>
|
|
</glossentry>
|
|
</glosslist>
|
|
|
|
</section>
|
|
|
|
<section>
|
|
<title>Usage</title>
|
|
|
|
<para>This hook is triggered by phpldapadmin BEFORE an entry
|
|
is renamed. Both dn variables are string representation of
|
|
old and new DN. If this hook returns a false value, entry is
|
|
not renamed.</para>
|
|
|
|
</section>
|
|
|
|
</section>
|
|
|
|
|
|
<section>
|
|
<title>pre_update</title>
|
|
|
|
<section>
|
|
<title>Synopsis</title>
|
|
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef><function>pre_update</function></funcdef>
|
|
<paramdef>
|
|
<parameter><replaceable>server_id</replaceable></parameter>,
|
|
<parameter><replaceable>dn</replaceable></parameter>,
|
|
<parameter><replaceable>update_array</replaceable></parameter>
|
|
</paramdef>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
|
|
<glosslist>
|
|
<glossentry>
|
|
<glossterm>server_id</glossterm>
|
|
<glossdef>
|
|
<para>numeric id of the LDAP server.</para>
|
|
</glossdef>
|
|
</glossentry>
|
|
<glossentry>
|
|
<glossterm>dn</glossterm>
|
|
<glossdef>
|
|
<para>DN of modified entry.</para>
|
|
</glossdef>
|
|
</glossentry>
|
|
<glossentry>
|
|
<glossterm>update_array</glossterm>
|
|
<glossdef>
|
|
<para>reference to an array containing all entries that
|
|
are to be modified, in the form:
|
|
<programlisting>
|
|
[ 'cn' => 'El Poussah Haroun',
|
|
'description' => 'Calife',
|
|
'diskQuota' => '10000' ]
|
|
</programlisting>
|
|
</para>
|
|
</glossdef>
|
|
</glossentry>
|
|
</glosslist>
|
|
|
|
</section>
|
|
|
|
<section>
|
|
<title>Usage</title>
|
|
|
|
<para>This hook is triggered by phpldapadmin BEFORE an entry
|
|
is updated. Also, it is run before any pre_attr_modify hook
|
|
is triggered.</para>
|
|
</section>
|
|
|
|
</section>
|
|
|
|
|
|
<section>
|
|
<title>pre_update_array_processing</title>
|
|
|
|
<section>
|
|
<title>Synopsis</title>
|
|
|
|
<funcsynopsis>
|
|
<funcprototype>
|
|
<funcdef><function>pre_update_array_processing</function></funcdef>
|
|
<paramdef>
|
|
<parameter><replaceable>server_id</replaceable></parameter>,
|
|
<parameter><replaceable>dn</replaceable></parameter>,
|
|
<parameter><replaceable>update_array</replaceable></parameter>
|
|
</paramdef>
|
|
</funcprototype>
|
|
</funcsynopsis>
|
|
|
|
<glosslist>
|
|
<glossentry>
|
|
<glossterm>server_id</glossterm>
|
|
<glossdef>
|
|
<para>numeric id of the LDAP server.</para>
|
|
</glossdef>
|
|
</glossentry>
|
|
<glossentry>
|
|
<glossterm>dn</glossterm>
|
|
<glossdef>
|
|
<para>DN of modified entry.</para>
|
|
</glossdef>
|
|
</glossentry>
|
|
<glossentry>
|
|
<glossterm>update_array</glossterm>
|
|
<glossdef>
|
|
<para>reference to an array containing all entries that
|
|
are to be modified, in the form:
|
|
<programlisting>
|
|
[ 'cn' => 'El Poussah Haroun',
|
|
'description' => 'Calife',
|
|
'diskQuota' => '10000' ]
|
|
</programlisting>
|
|
</para>
|
|
</glossdef>
|
|
</glossentry>
|
|
</glosslist>
|
|
|
|
</section>
|
|
|
|
<section>
|
|
<title>Usage</title>
|
|
|
|
<para>This hook is triggered by phpldapadmin after user has
|
|
modified attributes in the editing form and before she commits
|
|
changes in the confirmation form. This hooks is run BEFORE an
|
|
update array of changes is build and its content is displayed
|
|
into the commit form. As a reference of this update array is
|
|
passed to this hook, it is possible to add, remove or change
|
|
entries from it, thus allowing some manual tweaking before
|
|
data is displayed in commit confirmation form.</para>
|
|
|
|
</section>
|
|
|
|
</section>
|
|
|
|
</section>
|
|
|
|
</article>
|