require_once "../models/config.php";
// Request method: GET
$ajax = checkRequestMode("get");
if (!securePage(__FILE__)) {
    apiReturnError($ajax);
}
// TODO: allow setting default groups
// Sanitize input data
$get = filter_input_array(INPUT_GET, FILTER_SANITIZE_SPECIAL_CHARS);
// Parameters: box_id, render_mode, [user_id, show_dates, disabled]
// box_id: the desired name of the div that will contain the form.
// render_mode: modal or panel
// user_id (optional): if specified, will load the relevant data for the user into the form.  Form will then be in "update" mode.
// Set up Valitron validator
$v = new Valitron\DefaultValidator($get);
$v->rule('required', 'box_id');
$v->rule('required', 'render_mode');
$v->rule('in', 'render_mode', array('modal', 'panel'));
$v->rule('integer', 'user_id');
$v->setDefault('user_id', null);
$v->setDefault('fields', array());
$v->setDefault('buttons', array());
// Validate!
$v->validate();
// Process errors
if (count($v->errors()) > 0) {
    foreach ($v->errors() as $idx => $error) {
        addAlert("danger", $error);
    }
    apiReturnError($ajax, ACCOUNT_ROOT);
} else {