/** * Main method of the class. * * @return string The HTML list of remaining files to be displayed in the form */ public function main() { $this->init(); $field = htmlspecialchars(\TYPO3\CMS\Core\Utility\GeneralUtility::_GP('field')); if ($field) { $randomID = htmlspecialchars(\TYPO3\CMS\Core\Utility\GeneralUtility::_GP('randomID')); \Typoheads\Formhandler\Utility\Globals::setCObj($GLOBALS['TSFE']->cObj); \Typoheads\Formhandler\Utility\Globals::setRandomID($randomID); if (!\Typoheads\Formhandler\Utility\Globals::getSession()) { $ts = $GLOBALS['TSFE']->tmpl->setup['plugin.']['Tx_Formhandler.']['settings.']; $sessionClass = \Typoheads\Formhandler\Utility\GeneralUtility::getPreparedClassName($ts['session.'], 'Session\\PHP'); \Typoheads\Formhandler\Utility\Globals::setSession($this->componentManager->getComponent($sessionClass)); } $this->settings = \Typoheads\Formhandler\Utility\Globals::getSession()->get('settings'); \Typoheads\Formhandler\Utility\Globals::setFormValuesPrefix(\Typoheads\Formhandler\Utility\GeneralUtility::getSingle($this->settings, 'formValuesPrefix')); $gp = \Typoheads\Formhandler\Utility\GeneralUtility::getMergedGP(); $validator = $this->componentManager->getComponent('\\Typoheads\\Formhandler\\Validator\\Ajax'); $errors = []; $valid = $validator->validateAjax($field, $gp, $errors); if ($valid) { $content = \Typoheads\Formhandler\Utility\GeneralUtility::getSingle($this->settings['ajax.']['config.'], 'ok'); if (strlen($content) === 0) { $content = '<img src="' . \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath('formhandler') . 'Resources/Public/Images/ok.png' . '" />'; } else { $gp = [$_GET['field'] => $_GET['value']]; $view = $this->initView($content); $content = $view->render($gp, $errors); } $content = sprintf($this->templates['spanSuccess'], $content); } else { $content = \Typoheads\Formhandler\Utility\GeneralUtility::getSingle($this->settings['ajax.']['config.'], 'notOk'); if (strlen($content) === 0) { $content = '<img src="' . \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath('formhandler') . 'Resources/Public/Images/notok.png' . '" />'; } else { $view = $this->initView($content); $gp = [$_GET['field'] => $_GET['value']]; $content = $view->render($gp, $errors); } $content = sprintf($this->templates['spanError'], $content); } print $content; } }