Security Learning Mode

Consider the following code snippet. Is this code acceptable from a security standpoint? Assume that the $action and $data variables are designed to be accepted from the user and register_globals is enabled.

<?php
if (isUserAdmin()) {
    $isAdmin = true;
}
$data = validate_and_return_input($data);
switch ($action) {
    case 'add':
        addSomething($data);
    break;
    case 'delete':
        if ($isAdmin) {
            deleteSomething($data);
        }
    break;
    case 'edit':
        if ($isAdmin) {
            editSomething($data);
        }
    break;
    default:
        print 'Bad Action.';
}
?>