Exemplo n.º 1
0
function process_mspr_details($translator, $section)
{
    $action = clean_input(isset($_POST['action']) ? $_POST['action'] : "", array("lower"));
    if (!$action) {
        return;
    }
    switch ($action) {
        case 'add':
            $user_id = clean_input(isset($_POST['user_id']) ? $_POST['user_id'] : 0, array("int"));
            $details = clean_input(isset($_POST['details']) ? $_POST['details'] : "", array("notags"));
            if (!$user_id) {
                add_error($translator->translate("mspr_invalid_user_info"));
            }
            if (!$details) {
                add_error($translator->translate("mspr_no_details"));
            }
            if (!has_error()) {
                switch ($section) {
                    case 'leaves_of_absence':
                        LeaveOfAbsence::create($user_id, $details);
                        break;
                    case 'disciplinary_actions':
                        DisciplinaryAction::create($user_id, $details);
                        break;
                    case 'formal_remediation':
                        FormalRemediation::create($user_id, $details);
                        break;
                }
            }
            break;
        case 'remove':
            $entity_id = clean_input(isset($_POST['entity_id']) ? $_POST['entity_id'] : 0, array("int"));
            if (!$entity_id) {
                add_error($translator->translate("mspr_no_entity"));
            }
            if (!has_error()) {
                switch ($section) {
                    case 'leaves_of_absence':
                        $entity = LeaveOfAbsence::get($entity_id);
                        break;
                    case 'disciplinary_actions':
                        $entity = DisciplinaryAction::get($entity_id);
                        break;
                    case 'formal_remediation':
                        $entity = FormalRemediation::get($entity_id);
                        break;
                }
                if (!$entity) {
                    add_error($translator->translate("mspr_invalid_entity"));
                }
                if (!has_error()) {
                    $entity->delete();
                }
            }
            break;
    }
}