PHP Classes

File: hooks/functions/example.php

Recommend this page to a friend!
  Classes of ask sa sa   PHP LDAP admin   hooks/functions/example.php   Download  
File: hooks/functions/example.php
Role: Auxiliary script
Content type: text/plain
Description: Auxiliary script
Class: PHP LDAP admin
Perform operations to administer a LDAP server
Author: By
Last change:
Date: 1 year ago
Size: 15,409 bytes
 

Contents

Class file image Download
<?php /** * An example of a hooks implementation. * * Functions should return true on success and false on failure. * If a function returns false it will trigger the rollback to be executed. * * @author The phpLDAPadmin development team * @package phpLDAPadmin */ /** * This example hooks implementation will just show system_messages after each hooks is called. * * @package phpLDAPadmin * @subpackage Functions */ # If you want to see this example in action, just comment out the return. return false; /** * The post_session_init function is called after lib/common.php has completed its processing. * This can be used to further initialise the session. * * No arguments are passed to post_session_init. */ function example_post_session_init() { $args = func_get_args(); system_message(array( 'title'=>sprintf('Hook called [%s]',__METHOD__), 'body'=>sprintf('<i>Global Vars</i>: <small>%s</small>',join('| ',array_keys($GLOBALS))), 'type'=>'info','special'=>true)); return true; } add_hook('post_session_init','example_post_session_init'); /** * This pre_connect function is called before making a connection to the LDAP server. * While PLA makes many calls to connect to the LDAP server, this is called only once * when caching is turned on. * * Arguments available are: * @param int Server ID of the server to be connected to * @param string Method. The user connection method, normally 'user'. * @see post_connect */ function example_pre_connect() { $args = func_get_args(); system_message(array( 'title'=>sprintf('Hook called [%s]',__METHOD__), 'body'=>sprintf('<i>Arguments</i>:<ul><li>Server ID: <small>%s</small></li><li>Method: <small>%s</small></li></ul>',$args[0],$args[1]), 'type'=>'info','special'=>true)); return true; } add_hook('pre_connect','example_pre_connect'); /** * This post_connect function is called after making a connection to the LDAP server. * While PLA makes many calls to connect to the LDAP server, this is called only once * when caching is turned on. * * Arguments available are: * @param int Server ID of the server to be connected to * @param string Method. The user connection method, normally 'user'. * @param string User ID of the user who successfully made the connection. * @see pre_connect */ function example_post_connect() { $args = func_get_args(); system_message(array( 'title'=>sprintf('Hook called [%s]',__METHOD__), 'body'=>sprintf('<i>Arguments</i>:<ul><li>Server ID: <small>%s</small></li><li>Method: <small>%s</small></li><li>User DN: <small>%s</small></li></ul>',$args[0],$args[1],$args[2]), 'type'=>'info','special'=>true)); return true; } add_hook('post_connect','example_post_connect'); /** * This pre_entry_create function is called before an entry is created in ds_ldap_pla::add(). * * Arguments available are: * @param int Server ID of the server to be connected to * @param string Method. The user connection method, normally 'user'. * @param string DN of the entry created * @param array Attributes for the new DN * @see post_entry_create */ function example_pre_entry_create() { $args = func_get_args(); system_message(array( 'title'=>sprintf('Hook called [%s]',__METHOD__), 'body'=>sprintf('<i>Arguments</i>:<ul><li>Server ID: <small>%s</small></li><li>Method: <small>%s</small></li><li>DN: <small>%s</small></li><li>Attributes: <small>%s</small></li></ul>',$args[0],$args[1],$args[2],join(',',(array_keys($args[3])))), 'type'=>'info','special'=>true)); return true; } add_hook('pre_entry_create','example_pre_entry_create'); /** * This post_entry_create function is called after an entry is created in ds_ldap_pla::add(). * * Arguments available are: * @param int Server ID of the server to be connected to * @param string Method. The user connection method, normally 'user'. * @param string DN of the entry created * @param array Attributes for the new DN * @see pre_entry_create */ function example_post_entry_create() { $args = func_get_args(); system_message(array( 'title'=>sprintf('Hook called [%s]',__METHOD__), 'body'=>sprintf('<i>Arguments</i>:<ul><li>Server ID: <small>%s</small></li><li>Method: <small>%s</small></li><li>DN: <small>%s</small></li><li>Attributes: <small>%s</small></li></ul>',$args[0],$args[1],$args[2],join(',',(array_keys($args[3])))), 'type'=>'info','special'=>true)); return true; } add_hook('post_entry_create','example_post_entry_create'); /** * This pre_entry_delete function is called before an entry is deleted in ds_ldap_pla::delete(). * * Arguments available are: * @param int Server ID of the server to be connected to * @param string Method. The user connection method, normally 'user'. * @param string DN of the entry deleted * @see post_entry_delete */ function example_pre_entry_delete() { $args = func_get_args(); system_message(array( 'title'=>sprintf('Hook called [%s]',__METHOD__), 'body'=>sprintf('<i>Arguments</i>:<ul><li>Server ID: <small>%s</small></li><li>Method: <small>%s</small></li><li>DN: <small>%s</small></li></ul>',$args[0],$args[1],$args[2]), 'type'=>'info','special'=>true)); return true; } add_hook('pre_entry_delete','example_pre_entry_delete'); /** * This post_entry_delete function is called after an entry is deleted in ds_ldap_pla::delete(). * * Arguments available are: * @param int Server ID of the server to be connected to * @param string Method. The user connection method, normally 'user'. * @param string DN of the entry deleted * @see pre_entry_delete */ function example_post_entry_delete() { $args = func_get_args(); system_message(array( 'title'=>sprintf('Hook called [%s]',__METHOD__), 'body'=>sprintf('<i>Arguments</i>:<ul><li>Server ID: <small>%s</small></li><li>Method: <small>%s</small></li><li>DN: <small>%s</small></li></ul>',$args[0],$args[1],$args[2]), 'type'=>'info','special'=>true)); return true; } add_hook('post_entry_delete','example_post_entry_delete'); /** * This pre_entry_rename function is called before an entry is renamed in ds_ldap_pla::rename(). * * Arguments available are: * @param int Server ID of the server to be connected to * @param string Method. The user connection method, normally 'user'. * @param string Old DN of the entry to be renamed * @param string New RDN for the new entry * @param string Container for the new entry * @see post_entry_rename */ function example_pre_entry_rename() { $args = func_get_args(); system_message(array( 'title'=>sprintf('Hook called [%s]',__METHOD__), 'body'=>sprintf('<i>Arguments</i>:<ul><li>Server ID: <small>%s</small></li><li>Method: <small>%s</small></li><li>DN: <small>%s</small></li><li>New RDN: <small>%s</small></li><li>New Container: <small>%s</small></li></ul>',$args[0],$args[1],$args[2],$args[3],$args[4]), 'type'=>'info','special'=>true)); return true; } add_hook('pre_entry_rename','example_pre_entry_rename'); /** * This post_entry_rename function is called after an entry is renamed in ds_ldap_pla::rename(). * * Arguments available are: * @param int Server ID of the server to be connected to * @param string Method. The user connection method, normally 'user'. * @param string Old DN of the entry to be renamed * @param string New RDN for the new entry * @param string Container for the new entry * @see pre_entry_rename */ function example_post_entry_rename() { $args = func_get_args(); system_message(array( 'title'=>sprintf('Hook called [%s]',__METHOD__), 'body'=>sprintf('<i>Arguments</i>:<ul><li>Server ID: <small>%s</small></li><li>Method: <small>%s</small></li><li>DN: <small>%s</small></li><li>New RDN: <small>%s</small></li><li>New Container: <small>%s</small></li></ul>',$args[0],$args[1],$args[2],$args[3],$args[4]), 'type'=>'info','special'=>true)); return true; } add_hook('post_entry_rename','example_post_entry_rename'); /** * This pre_entry_modify function is called before an entry is modified in ds_ldap_pla::modify(). * * Arguments available are: * @param int Server ID of the server to be connected to * @param string Method. The user connection method, normally 'user'. * @param string DN of the entry to be modified * @param array Attributes to be modified * @see post_entry_modify */ function example_pre_entry_modify() { $args = func_get_args(); system_message(array( 'title'=>sprintf('Hook called [%s]',__METHOD__), 'body'=>sprintf('<i>Arguments</i>:<ul><li>Server ID: <small>%s</small></li><li>Method: <small>%s</small></li><li>DN: <small>%s</small></li><li>Attributes: <small>%s</small></li></ul>',$args[0],$args[1],$args[2],join('|',array_keys($args[3]))), 'type'=>'info','special'=>true)); return true; } add_hook('pre_entry_modify','example_pre_entry_modify'); /** * This post_entry_modify function is called after an entry is modified in ds_ldap_pla::modify(). * * Arguments available are: * @param int Server ID of the server to be connected to * @param string Method. The user connection method, normally 'user'. * @param string DN of the entry to be modified * @param array Attributes to be modified * @see pre_entry_modify */ function example_post_entry_modify() { $args = func_get_args(); system_message(array( 'title'=>sprintf('Hook called [%s]',__METHOD__), 'body'=>sprintf('<i>Arguments</i>:<ul><li>Server ID: <small>%s</small></li><li>Method: <small>%s</small></li><li>DN: <small>%s</small></li><li>Attributes: <small>%s</small></li></ul>',$args[0],$args[1],$args[2],join('|',array_keys($args[3]))), 'type'=>'info','special'=>true)); return true; } add_hook('post_entry_modify','example_post_entry_modify'); // pre_attr_add // post_attr_add /** * This pre_attr_add function is called before an attribute is deleted in ds_ldap_pla::modify(). * * Arguments available are: * @param int Server ID of the server to be connected to * @param string Method. The user connection method, normally 'user'. * @param string DN of the attribute to be deleted * @param string Attribute to be deleted * @param array Old values * @see post_attr_add */ function example_pre_attr_add() { $args = func_get_args(); system_message(array( 'title'=>sprintf('Hook called [%s]',__METHOD__), 'body'=>sprintf('<i>Arguments</i>:<ul><li>Server ID: <small>%s</small></li><li>Method: <small>%s</small></li><li>DN: <small>%s</small></li><li>Attribute: <small>%s</small></li><li>New Values: <small>%s</small></li></ul>',$args[0],$args[1],$args[2],$args[3],join('|',$args[4])), 'type'=>'info','special'=>true)); return true; } add_hook('pre_attr_add','example_pre_attr_add'); /** * This post_attr_add function is called after an attribute is added in ds_ldap_pla::modify(). * * Arguments available are: * @param int Server ID of the server to be connected to * @param string Method. The user connection method, normally 'user'. * @param string DN of the attribute to be added * @param string Attribute to be added * @param array New values * @see pre_attr_add */ function example_post_attr_add() { $args = func_get_args(); system_message(array( 'title'=>sprintf('Hook called [%s]',__METHOD__), 'body'=>sprintf('<i>Arguments</i>:<ul><li>Server ID: <small>%s</small></li><li>Method: <small>%s</small></li><li>DN: <small>%s</small></li><li>Attribute: <small>%s</small></li><li>New Values: <small>%s</small></li></ul>',$args[0],$args[1],$args[2],$args[3],join('|',$args[4])), 'type'=>'info','special'=>true)); return true; } add_hook('post_attr_add','example_post_attr_add'); // pre_attr_modify // post_attr_modify /** * This pre_attr_modify function is called before an attribute is modified in ds_ldap_pla::modify(). * * Arguments available are: * @param int Server ID of the server to be connected to * @param string Method. The user connection method, normally 'user'. * @param string DN of the attribute to be modified * @param string Attribute to be modified * @param array New values * @see post_attr_modify */ function example_pre_attr_modify() { $args = func_get_args(); system_message(array( 'title'=>sprintf('Hook called [%s]',__METHOD__), 'body'=>sprintf('<i>Arguments</i>:<ul><li>Server ID: <small>%s</small></li><li>Method: <small>%s</small></li><li>DN: <small>%s</small></li><li>Attribute: <small>%s</small></li><li>Old Values: <small>%s</small></li><li>New Values: <small>%s</small></li></ul>',$args[0],$args[1],$args[2],$args[3],join('|',$args[4]),join('|',$args[5])), 'type'=>'info','special'=>true)); return true; } add_hook('pre_attr_modify','example_pre_attr_modify'); /** * This post_attr_modify function is called after an attribute is deleted in ds_ldap_pla::modify(). * * Arguments available are: * @param int Server ID of the server to be connected to * @param string Method. The user connection method, normally 'user'. * @param string DN of the attribute to be deleted * @param string Attribute to be deleted * @param array Old values * @see pre_attr_modify */ function example_post_attr_modify() { $args = func_get_args(); system_message(array( 'title'=>sprintf('Hook called [%s]',__METHOD__), 'body'=>sprintf('<i>Arguments</i>:<ul><li>Server ID: <small>%s</small></li><li>Method: <small>%s</small></li><li>DN: <small>%s</small></li><li>Attribute: <small>%s</small></li><li>Old Values: <small>%s</small></li><li>New Values: <small>%s</small></li></ul>',$args[0],$args[1],$args[2],$args[3],join('|',$args[4]),join('|',$args[5])), 'type'=>'info','special'=>true)); return true; } add_hook('post_attr_modify','example_post_attr_modify'); /** * This pre_attr_delete function is called before an attribute is deleted in ds_ldap_pla::modify(). * * Arguments available are: * @param int Server ID of the server to be connected to * @param string Method. The user connection method, normally 'user'. * @param string DN of the attribute to be deleted * @param string Attribute to be deleted * @param array Old values * @see post_attr_delete */ function example_pre_attr_delete() { $args = func_get_args(); system_message(array( 'title'=>sprintf('Hook called [%s]',__METHOD__), 'body'=>sprintf('<i>Arguments</i>:<ul><li>Server ID: <small>%s</small></li><li>Method: <small>%s</small></li><li>DN: <small>%s</small></li><li>Attribute: <small>%s</small></li><li>Old Values: <small>%s</small></li></ul>',$args[0],$args[1],$args[2],$args[3],join('|',$args[4])), 'type'=>'info','special'=>true)); return true; } add_hook('pre_attr_delete','example_pre_attr_delete'); /** * This post_attr_delete function is called after an attribute is deleted in ds_ldap_pla::modify(). * * Arguments available are: * @param int Server ID of the server to be connected to * @param string Method. The user connection method, normally 'user'. * @param string DN of the attribute to be deleted * @param string Attribute to be deleted * @param array Old values * @see pre_attr_delete */ function example_post_attr_delete() { $args = func_get_args(); system_message(array( 'title'=>sprintf('Hook called [%s]',__METHOD__), 'body'=>sprintf('<i>Arguments</i>:<ul><li>Server ID: <small>%s</small></li><li>Method: <small>%s</small></li><li>DN: <small>%s</small></li><li>Attribute: <small>%s</small></li><li>Old Values: <small>%s</small></li></ul>',$args[0],$args[1],$args[2],$args[3],join('|',$args[4])), 'type'=>'info','special'=>true)); return true; } add_hook('post_attr_delete','example_post_attr_delete'); ?>