<?php
require('includes/starthere.php');
if ( !isset($_GET['op']) )
die();
$result = false;
switch($_GET['op'])
{
case 'checkAvailability':
if ( !preg_match('/^[a-z0-9]{3,32}$/', $_GET['uid']) )
{
$result = 'Username contains invalid characters, or does not meet length requirement (3-32 characters).';
break;
}
$userinfo = ldap_get_user($_GET['uid']);
if ( !$userinfo )
$result = true;
else
$result = 'This username is already taken.';
case 'listUsers':
$result = ldap_list_users();
break;
case 'getGroup':
$result = ldap_get_group($_GET['gid']);
break;
case 'removeUserFromGroup':
$group = ldap_get_group($_GET['gid']);
if ( in_array($_GET['uid'], $group['memberUid']) )
$result = ldap_delete_group_member($_GET['gid'], $_GET['uid']);
break;
case 'addUserToGroup':
$group = ldap_get_group($_GET['gid']);
if ( $group && !in_array($_GET['uid'], $group['memberUid']) )
$result = ldap_add_group_member($_GET['gid'], $_GET['uid']);
break;
}
header('Content-type: text/javascript');
echo json_encode($result);