Skip to content

Worteks/ltb-ldap

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

144 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LDAP Tool Box PHP framework

Latest Stable Version Total Downloads CI Status Composer Status

Presentation

This is a PHP library to share code between LTB applications like Self Service Password, White Pages, Service Desk, ...

Installation

Add the dependency in your composer configuration:

{
    "require": {
        "ltb-project/ltb-common": "v0.2.1"
    }
}

Then update dependencies:

composer update

Use autoloading in your code to load composer dependencies:

require __DIR__ . 'vendor/autoload.php';

Usage

LDAP connection

$ldap_url = "ldap://ldap.example.com";
$ldap_starttls = false;
$ldap_binddn = "cn=admin,dc=example,dc=com";
$ldap_bindpw = "secret";
$ldap_network_timeout = 3;
$ldap_user_base = "ou=people,dc=example,dc=com";
$ldap_size_limit = -1;
$ldap_krb5ccname = null;
$ldap_page_size = 1000;

$ldapInstance = new \Ltb\Ldap(
        $ldap_url,
        $ldap_starttls,
        $ldap_binddn,
        $ldap_bindpw,
        $ldap_network_timeout,
        $ldap_user_base,
        $ldap_size_limit,
        $ldap_krb5ccname,
        $ldap_page_size
);

$ldap_connection = $ldapInstance->connect();

$ldap = $ldap_connection[0];
$result = $ldap_connection[1];

if (!$result) {
    error_log("Unable to connect to $ldap_url");
    exit 1;
}

Tests

Unit tests

Get composer dependencies:

composer update

Run the tests:

vendor/bin/phpunit tests/Ltb

If you want coverage analysis, make sure to install xdebug PHP extension, and run:

XDEBUG_MODE=coverage vendor/bin/phpunit --coverage-text --configuration phpunit.xml

Integration tests

Make sure you have docker or podman installed

Get composer dependencies:

composer update

Run the tests (requires an internet connection for donwloading the openldap docker image):

./runIntegrationTests.sh

If you already have an openldap server, you can also adapt the tests in tests/ directory, and run them with:

vendor/bin/phpunit tests/IntegrationTests

About

PHP framework for LTB project applications

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • PHP 92.5%
  • JavaScript 4.8%
  • Smarty 1.8%
  • Other 0.9%