Skip to content

Instantly share code, notes, and snippets.

@Smephite
Created November 26, 2016 14:23
Show Gist options
  • Save Smephite/6bf1510db1925533306650bde3b1f6ca to your computer and use it in GitHub Desktop.
Save Smephite/6bf1510db1925533306650bde3b1f6ca to your computer and use it in GitHub Desktop.
ldap.php
<?php
header('Content-Type: text/json');
$user = $_SERVER['PHP_AUTH_USER'];
$ds = ldap_connect("ldap://10.1.1.32") or die(json_encode(["error" => "500"]));
$data = array();
if ($ds) {
$r = ldap_bind($ds);
$sr = ldap_search($ds, "ou=benutzer,ou=suso,ou=schulen,o=ml3", "uid=$user");
$info = ldap_get_entries($ds, $sr);
$entry = ldap_first_entry($ds, $sr);
$attrs = ldap_get_attributes($ds, $entry);
$acl = $attrs["ACL"][0];
$arr = explode("ou=", $acl);
$klasse = $arr[1];
$klasse = str_replace(',', "", $klasse);
$uid = $attrs['uid'][0];
if ($klasse == "Lehrer") {
$data = ['type' => "Teacher"];
} else {
if ($klasse == "12") {
$klasse = "K2";
}
if ($klasse == "11") {
$klasse = "K1";
}
$data = ["type" => "student", "class" => $klasse];
}
$data = array_merge(["code" => "200", "name"=>$uid], $data);
ldap_close($ds);
} else {
$data = array("code" => "500");
}
echo json_encode($data);
?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment