packages/ssoinabox-webui/root/usr/local/share/ssoinabox/htdocs/ajax.php
author Dan Fuhry <dan@fuhry.us>
Fri, 11 Jan 2013 00:32:54 -0500
changeset 3 a044870a9d3d
parent 0 3906ca745819
permissions -rw-r--r--
Added password reset function

<?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);