37 $queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)
38 ->getQueryBuilderForTable(
'tx_impexp_presets');
40 $queryBuilder->select(
'*')
41 ->from(
'tx_impexp_presets')
43 $queryBuilder->expr()->orX(
44 $queryBuilder->expr()->gt(
46 $queryBuilder->createNamedParameter(0, \PDO::PARAM_INT)
48 $queryBuilder->expr()->eq(
50 $queryBuilder->createNamedParameter($this->getBackendUser()->user[
'uid'], \PDO::PARAM_INT)
56 $queryBuilder->andWhere(
57 $queryBuilder->expr()->orX(
58 $queryBuilder->expr()->eq(
60 $queryBuilder->createNamedParameter($pageId, \PDO::PARAM_INT)
62 $queryBuilder->expr()->eq(
64 $queryBuilder->createNamedParameter(0, \PDO::PARAM_INT)
70 $presets = $queryBuilder->execute();
71 while ($presetCfg = $presets->fetch()) {
72 $options[$presetCfg[
'uid']] = $presetCfg[
'title'] .
' [' . $presetCfg[
'uid'] .
']'
73 . ($presetCfg[
'public'] ?
' [Public]' :
'')
74 . ($presetCfg[
'user_uid'] === $this->
getBackendUser()->user[
'uid'] ?
' [Own]' :
'');
87 $queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)
88 ->getQueryBuilderForTable(
'tx_impexp_presets');
90 return $queryBuilder->select(
'*')
91 ->from(
'tx_impexp_presets')
93 $queryBuilder->expr()->eq(
95 $queryBuilder->createNamedParameter($uid, \PDO::PARAM_INT)
109 $connection = GeneralUtility::makeInstance(ConnectionPool::class)->getConnectionForTable(
'tx_impexp_presets');
110 $presetData = GeneralUtility::_GP(
'preset');
116 $inData[
'preset'][
'public'] = (int)$inData[
'preset'][
'public'];
117 if (isset($presetData[
'save'])) {
118 $preset = $this->
getPreset($presetData[
'select']);
120 if (is_array($preset)) {
121 if ($beUser->isAdmin() || $preset[
'user_uid'] === $beUser->user[
'uid']) {
125 'public' => $inData[
'preset'][
'public'],
126 'title' => $inData[
'preset'][
'title'],
127 'item_uid' => $inData[
'pagetree'][
'id'],
128 'preset_data' => serialize($inData)
130 [
'uid' => (
int)$preset[
'uid']],
134 $msg =
'Preset #' . $preset[
'uid'] .
' saved!';
136 $msg =
'ERROR: The preset was not saved because you were not the owner of it!';
144 'user_uid' => $beUser->user[
'uid'],
145 'public' => $inData[
'preset'][
'public'],
146 'title' => $inData[
'preset'][
'title'],
147 'item_uid' => (
int)$inData[
'pagetree'][
'id'],
148 'preset_data' => serialize($inData)
153 $msg =
'New preset "' . htmlspecialchars($inData[
'preset'][
'title']) .
'" is created';
157 if (isset($presetData[
'delete'])) {
158 $preset = $this->
getPreset($presetData[
'select']);
159 if (is_array($preset)) {
161 if ($beUser->isAdmin() || $preset[
'user_uid'] === $beUser->user[
'uid']) {
164 [
'uid' => (
int)$preset[
'uid']]
167 $msg =
'Preset #' . $preset[
'uid'] .
' deleted!';
169 $msg =
'ERROR: You were not the owner of the preset so you could not delete it.';
173 $msg =
'ERROR: No preset selected for deletion.';
178 if (isset($presetData[
'load']) || isset($presetData[
'merge'])) {
179 $preset = $this->
getPreset($presetData[
'select']);
180 if (is_array($preset)) {
182 $inData_temp = unserialize($preset[
'preset_data'], [
'allowed_classes' =>
false]);
183 if (is_array($inData_temp)) {
184 if (isset($presetData[
'merge'])) {
186 if (is_array($inData_temp[
'record'])) {
187 $inData[
'record'] = array_merge((array)$inData[
'record'], $inData_temp[
'record']);
190 if (is_array($inData_temp[
'list'])) {
191 $inData[
'list'] = array_merge((array)$inData[
'list'], $inData_temp[
'list']);
194 $msg =
'Preset #' . $preset[
'uid'] .
' loaded!';
195 $inData = $inData_temp;
198 $msg =
'ERROR: No configuratio data found in preset record!';
202 $msg =
'ERROR: No preset selected for loading.';
209 $flashMessage = GeneralUtility::makeInstance(
216 $flashMessageService = GeneralUtility::makeInstance(FlashMessageService::class);
218 $defaultFlashMessageQueue = $flashMessageService->getMessageQueueByIdentifier();
219 $defaultFlashMessageQueue->enqueue($flashMessage);