[commits] [Wiki] changed: LDAPHooksHorde5

Wiki Guest wikiguest at horde.org
Sun Feb 17 09:56:07 UTC 2013


guest [59.167.157.243]  Sun, 17 Feb 2013 09:56:07 +0000

Modified page: http://wiki.horde.org/LDAPHooksHorde5
New Revision:  5
Change log:  Typos

@@ -1,16 +1,15 @@
  +Hooks in Horde5

-These are the hooks I set up in my Horde 5 setup to provide default  
Full Name and email addresses, retrieved from LDAP. It's based on the  
one on hooks.php.dist, but I had some issues with that so it's a bit  
tweaked. Runs on my CentOS 6 system. Rather than specifying LDAP  
server details in the hook, it uses the system's ability to ldapsearch  
- which makes troubleshooting easier too, just strip out the command  
and make it work on the command line.
+These are the hooks I set up in my Horde 5 setup to provide default  
Full Name and email addresses, retrieved from LDAP. It's based on the  
one in hooks.php.dist, but I had some issues with that so it's a bit  
tweaked. Runs on my CentOS 6 system. Rather than specifying LDAP  
server details in the hook, it uses the system's ability to ldapsearch  
- which makes troubleshooting easier too, just strip out the command  
and make it work on the command line. It does mean that you have to  
have LDAP functional from your system for ldapsearch calls.

  It uses awk to get the email address from the returned grep'ed  
value, and cut to remove "cn: " from the Full Name. You may need to  
tweak those bits so it does what you need on your system.

  You will need:
  * LDAP cn entry(ies) with Full Name (the script uses the first one  
as the default Full Name)
  * LDAP mail entry(ies) with email addresses (the script uses the  
first one as the default email address)
-* ldapsearch is set to use TLS (using the -ZZ option). You will need  
to have a functional TLS LDAP setup for this to work. If you are happy  
to not use TLS, drop that option.
-* set your LDAP domain in searchBase
-
+* As ldapsearch is set to use TLS (using the -ZZ option), you will  
need to have a functional TLS LDAP setup for this to work. If you are  
happy to not use TLS, drop that option. Again, make sure it works from  
the command line if you are having issues.
+* To set your LDAP domain in searchBase

  <code type="php">
  <?php
  class Horde_Hooks
@@ -46,4 +45,19 @@
          }
      }
  }
  </code>
+
+For troubleshooting I used the php file_put_contents function. The  
following is an extract of what I used as a guide to help you see what  
the variables are doing:
+
+<code type="php">
+$searchBase = 'ou=users,dc=simonandkate,dc=lan';
+file_put_contents('/var/www/horde/output.txt', 'Variable $searchBase  
is ' . $searchBase . PHP_EOL);
+$cmd = '/usr/bin/ldapsearch -ZZ -x -b ' . $searchBase . ' uid=' .  
escapeshellcmd($username) . ' | /bin/grep cn: | /usr/bin/awk \'{print  
$2}\'';
+file_put_contents('/var/www/horde/output.txt', 'Variable $cmd is ' .  
$cmd . PHP_EOL, FILE_APPEND);
+$cns = `$cmd`;
+file_put_contents('/var/www/horde/output.txt', 'Variable $cns is ' .  
$cns . PHP_EOL, FILE_APPEND);
+$cn_array = explode("\n", $cns);
+$cn = $cn_array['0'];
+</code>
+
+



More information about the commits mailing list