/** * Create a tag * * @param array $params * @param \TYPO3\CMS\Core\Http\AjaxRequestHandler $ajaxObj * @return void * @throws \Exception */ public function createTag(array $params, \TYPO3\CMS\Core\Http\AjaxRequestHandler $ajaxObj) { $request = GeneralUtility::_POST(); try { // Check if a tag is submitted if (!isset($request['item']) || empty($request['item'])) { throw new \Exception('error_no-tag'); } $itemUid = $request['uid']; if ((int) $itemUid === 0 && (strlen($itemUid) == 16 && !GeneralUtility::isFirstPartOfStr($itemUid, 'NEW'))) { throw new \Exception('error_no-uid'); } $table = $request['table']; if (empty($table)) { throw new \Exception('error_no-table'); } // Get tag uid $newTagId = $this->getTagUid($request); $ajaxObj->setContentFormat('javascript'); $ajaxObj->setContent(''); $response = array($newTagId, $request['item'], self::TAG, $table, 'tags', 'data[' . htmlspecialchars($table) . '][' . $itemUid . '][tags]', $itemUid); $ajaxObj->setJavascriptCallbackWrap(implode('-', $response)); } catch (\Exception $e) { $errorMsg = $GLOBALS['LANG']->sL(self::LLPATH . $e->getMessage()); $ajaxObj->setError($errorMsg); } }
/** * Create a target * * @param array $params * @param \TYPO3\CMS\Core\Http\AjaxRequestHandler $ajaxObj * @return void * @throws Exception */ public function createTarget(array $params, \TYPO3\CMS\Core\Http\AjaxRequestHandler $ajaxObj) { $request = \TYPO3\CMS\Core\Utility\GeneralUtility::_POST(); try { // Check if a tag is submitted if (!isset($request['item']) || empty($request['item'])) { throw new Exception('error_no-target'); } $newsUid = $request['newsid']; if ((int) $newsUid === 0 && (strlen($newsUid) == 16 && !\TYPO3\CMS\Core\Utility\GeneralUtility::isFirstPartOfStr($newsUid, 'NEW'))) { throw new Exception('error_no-newsid'); } // Get tag uid $newTargetId = $this->getTargetUid($request); $ajaxObj->setContentFormat('javascript'); $ajaxObj->setContent(''); $response = array($newTargetId, $request['item'], self::TARGET, self::NEWS, 'tags', 'data[tx_mooxnews_domain_model_news][' . $newsUid . '][targets]', $newsUid); $ajaxObj->setJavascriptCallbackWrap(implode('-', $response)); } catch (Exception $e) { $errorMsg = $GLOBALS['LANG']->sL(self::LLPATHTARGET . $e->getMessage()); $ajaxObj->setError($errorMsg); } }