3 * Fetches all entries from the LDAP server and outputs a CSV file
4 * compatible with a Auerswald COMpact 3000's address book upload.
9 * @package auerswald-compact-ldap
10 * @author Christian Weiske <cweiske@cweiske.de>
11 * @license http://www.gnu.org/licenses/agpl.html AGPL v3 or later
13 if (!is_file(__DIR__ . '/config.php')) {
14 echo "Copy config.php.dist to config.php and adjust it.\n";
17 require_once __DIR__ . '/config.php';
18 require_once 'Net/LDAP2.php';
20 $ldap = Net_LDAP2::connect($ldapcfg);
21 if (Net_LDAP2::isError($ldap)) {
22 die('Could not connect to LDAP-server: ' . $ldap->getMessage() . "\n");
25 $numberfields = array(
27 'facsimileTelephoneNumber',
28 'homeFacsimileTelephoneNumber',
36 $search = $ldap->search(
40 'attributes' => array_merge(
41 array('displayName', 'cn',),
46 if (Net_LDAP2::isError($search)) {
47 die('Error searching: ' . $search->getMessage() . "\n");
50 echo "Kurzwahl;Rufnummer;Name\n";
51 while ($entry = $search->shiftEntry()) {
52 $a = $entry->getValues();
53 if (isset($a['displayName'])) {
54 $name = $a['displayName'];
59 foreach ($numberfields as $nfield) {
60 if (isset($a[$nfield])) {
61 echo sprintf(";%s;%s\n", $a[$nfield], $name);