case 'get_groups_roles':
        $data = $mailbox->get_groups_roles();
        break;
    case 'get_contacts':
        $group = optional_param('group', 0, PARAM_INT);
        $roleid = optional_param('roleid', 0, PARAM_INT);
        $fi = optional_param('fi', '', PARAM_ALPHA);
        $li = optional_param('li', '', PARAM_ALPHA);
        $data = $mailbox->get_contacts($group, $fi, $li, $roleid);
        break;
    case 'get_contacts_search':
        $search = optional_param('search', '', PARAM_RAW);
        $data = array_values($mailbox->get_contacts_search($search));
        break;
    case 'refresh_contacts':
        $data = $mailbox->refresh_contacts();
        break;
    case 'get_preferences':
        $data = $mailbox->get_preferences();
        break;
    case 'save_preferences':
        $preferences = required_param('preferences', PARAM_RAW);
        $data = $mailbox->save_preferences($preferences);
        break;
    case 'save_private':
        $file = required_param('file', PARAM_RAW);
        $data = $mailbox->save_to_private_files($file);
        break;
}
echo json_encode($data);
die;