Example #1
0
function sendFormAction()
{
    if (empty($_POST['bID'])) {
        return error(t('Invalid form submission (missing bID)'));
    } else {
        $block = Block::getByID($_POST['bID']);
        $blockController = new FormController($block);
        $blockController->noSubmitFormRedirect = true;
        $redirectURL = '';
        // //Handle redirect-on-success...
        if ($blockController->redirectCID > 0) {
            $redirectPage = Page::getByID($blockController->redirectCID);
            if ($redirectPage->cID) {
                $redirectURL = Loader::helper('navigation')->getLinkToCollection($redirectPage, true);
            }
        }
        $blockController->redirectCID = 0;
        //reset this in block controller, otherwise it will exit before returning the data we need!
        try {
            $success = $blockController->action_submit_form($_POST['bID']);
            if ($success != null && $success == false) {
                return error(t('Invalid form submission (invalid block ids)'));
            }
        } catch (Exception $e) {
            return error($e->getMessage());
        }
        $fieldErrors = $blockController->get('errors');
        if (is_array($fieldErrors)) {
            foreach ($fieldErrors as $key => $value) {
                return error($fieldErrors[$key]);
            }
        }
        return success($blockController->thankyouMsg);
    }
}