Skip to content

Commit 0c5c236

Browse files
Justin StrauchJustin Strauch
authored andcommitted
fix errors attempt 18
1 parent 1bb3964 commit 0c5c236

File tree

1 file changed

+53
-50
lines changed

1 file changed

+53
-50
lines changed

Classes/Controller/Backend/ImageRecognizeController.php

Lines changed: 53 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -224,34 +224,37 @@ public function ajaxMetaGenerateAction(ServerRequestInterface $request): Respons
224224
}
225225

226226
protected function ajaxData(ServerRequestInterface $request): ResponseInterface
227-
{
228-
$parsedBody = $request->getParsedBody();
229-
$queryParams = $request->getQueryParams();
227+
{
228+
$parsedBody = $request->getParsedBody();
229+
$queryParams = $request->getQueryParams();
230230

231-
$fileObjects = $this->getFileObjectFromRequestTarget($request);
231+
$fileObjects = $this->getFileObjectFromRequestTarget($request);
232232

233-
$allPrompts = $this->promptRepository->findAll();
234-
$defaultPrompt = $this->promptRepository->getDefaultPromptText();
235-
$imageLabels = $this->imagelabelRepository->findAll();
236-
$defaultLabel = $this->imagelabelRepository->getDefaultImageLabelId();
237-
$badwords = $this->badwordsRepository->findAll();
238-
$siteLanguages = $this->getAllSiteLanguages();
233+
$allPrompts = $this->promptRepository->findAll();
239234

240-
$modal = $parsedBody['modal'] ?? $queryParams['modal'] ?? false;
241-
$target_language = $parsedBody['target-language'] ?? $queryParams['target-language'] ?? null;
235+
$defaultPrompt = $this->promptRepository->getDefaultPromptText();
242236

243-
if (is_null($target_language)) {
244-
throw new Exception("No target language", 1727169730);
245-
}
237+
$imageLabels = $this->imagelabelRepository->findAll();
238+
239+
$defaultLabel = $this->imagelabelRepository->getDefaultImageLabelId();
246240

247-
$targetLanguage = $this->getLanguageById((int) $target_language);
248-
$targetTwoLetterIsoCode = $this->getLocaleLanguageCode($targetLanguage);
241+
$badwords = $this->badwordsRepository->findAll();
249242

250-
// Setting target, which must be a file reference to a file within the mounts.
251-
$action = $parsedBody['action'] ?? $queryParams['action'] ?? '';
252-
$target = $parsedBody['target'] ?? $queryParams['target'] ?? '';
243+
$siteLanguages = $this->getAllSiteLanguages();
253244

254-
switch ($action) {
245+
$modal = $parsedBody['modal'] ?? $queryParams['modal'] ?? false;
246+
247+
$target_language = $parsedBody['target-language'] ?? $queryParams['target-language'] ?? null;
248+
if (is_null($target_language)) {
249+
throw new Exception("No target language", 1727169730);
250+
}
251+
$targetLanguage = $this->getLanguageById((int) $target_language);
252+
$targetTwoLetterIsoCode = $this->getLocaleLanguageCode($targetLanguage);
253+
254+
// Setting target, which must be a file reference to a file within the mounts.
255+
$action = $parsedBody['action'] ?? $queryParams['action'] ?? '';
256+
$target = $parsedBody['target'] ?? $queryParams['target'] ?? '';
257+
switch ($action) {
255258
case 'saveMetaData':
256259
$altText = $parsedBody['altText'] ?? $queryParams['altText'] ?? '';
257260
$doTranslate = $parsedBody['translate'] ?? $queryParams['translate'] ?? false;
@@ -263,26 +266,14 @@ protected function ajaxData(ServerRequestInterface $request): ResponseInterface
263266
foreach ($siteLanguages as $siteLanguage) {
264267
// only translate additional languages (skip current language)
265268
if ($siteLanguage->getLanguageId() !== (int) $target_language) {
266-
$altTextTranslated = $this->translationService->translateText(
267-
$altText,
268-
$targetTwoLetterIsoCode,
269-
$this->getLocaleLanguageCode($siteLanguage)
270-
);
271-
$metaDataUid = $this->imageMetaDataService->saveMetaData(
272-
$target,
273-
$altTextTranslated,
274-
$siteLanguage->getLanguageId(),
275-
$parentUid
276-
);
269+
$altTextTranslated = $this->translationService->translateText($altText, $targetTwoLetterIsoCode, $this->getLocaleLanguageCode($siteLanguage));
270+
$metaDataUid = $this->imageMetaDataService->saveMetaData($target, $altTextTranslated, $siteLanguage->getLanguageId(), $parentUid);
277271
$translations[] = [
278272
'languageId' => $siteLanguage->getLanguageId(),
279273
'title' => $siteLanguage->getTitle(),
280-
'flagHtml' => $this->getLanguageFlagHtml(
281-
$siteLanguage->getFlagIdentifier(),
282-
$siteLanguage->getTitle()
283-
),
274+
'flagHtml' => $this->getLanguageFlagHtml($siteLanguage->getFlagIdentifier(), $siteLanguage->getTitle()),
284275
'altTextTranslated' => $altTextTranslated,
285-
'editLink' => (string) $this->getFileMetaDataEditLink($metaDataUid),
276+
'editLink' => (string)$this->getFileMetaDataEditLink($metaDataUid),
286277
];
287278
}
288279
}
@@ -296,15 +287,15 @@ protected function ajaxData(ServerRequestInterface $request): ResponseInterface
296287
return $this->responseFactory->createResponse()
297288
->withHeader('Content-Type', 'application/json')
298289
->withBody($this->streamFactory->createStream(json_encode($returnArray)));
299-
300290
case 'generateMetaData':
301-
$textPrompt = $parsedBody['textPrompt'] ?? $queryParams['textPrompt'] ?: ($defaultPrompt ?? '');
302-
$selectedimageLabel = $parsedBody['imageLabel'] ?? $queryParams['imageLabel'] ?: ($defaultLabel ?? -1);
303-
$selectedimageLabel = $selectedimageLabel !== "undefined" ? $selectedimageLabel : $defaultLabel;
291+
$textPrompt = $parsedBody['textPrompt'] ?? $queryParams['textPrompt'] ?: ($defaultPrompt != null ? $defaultPrompt : '');
292+
$selectedimageLabel = $parsedBody['imageLabel'] ?? $queryParams['imageLabel'] ?: ($defaultLabel != null ? $defaultLabel : -1);
293+
$selectedimageLabel = $selectedimageLabel != "undefined" ? $selectedimageLabel : $defaultLabel;
304294
$badwords = $parsedBody['badwords'] ?? $queryParams['badwords'] ?: "";
305-
$badwords = $badwords !== "undefined" ? $badwords : "";
306-
307-
$supportsTranslation = false;
295+
$badwords = $badwords != "undefined" ? $badwords : "";
296+
297+
298+
$supportsTranslation = false; //d asd sad sadsa das dasd sad asd
308299
if ($this->imageMetaDataService->supportsTranslation()) {
309300
$altTextFromImageTranslated = $this->imageMetaDataService->generateImageDescription(
310301
$fileObjects[0]['file'],
@@ -355,18 +346,30 @@ protected function ajaxData(ServerRequestInterface $request): ResponseInterface
355346
'badwords' => $badwords,
356347
];
357348

349+
$pageRenderer = GeneralUtility::makeInstance(PageRenderer::class);
350+
$typo3Version = new Typo3Version();
351+
if ($typo3Version->getMajorVersion() > 11) {
352+
$pageRenderer->loadJavaScriptModule( // @phpstan-ignore-line
353+
'@pagemachine/ai-tools/AjaxMetaGenerate.js',
354+
);
355+
} else {
356+
$pageRenderer->loadRequireJsModule( // @phpstan-ignore-line
357+
'TYPO3/CMS/AiTools/Amd/AjaxMetaGenerate'
358+
);
359+
}
360+
361+
358362
if (version_compare(GeneralUtility::makeInstance(VersionNumberUtility::class)->getNumericTypo3Version(), '13.0', '<')) {
359363
$view = $this->getView('AjaxMetaGenerate', $request);
360364
$view->assignMultiple($template_variables);
361-
$moduleTemplate->setContent($view->render());
362-
return $this->htmlResponse($moduleTemplate->renderContent());
365+
$moduleTemplate->setContent($view->render()); // @phpstan-ignore-line
366+
return $this->htmlResponse($moduleTemplate->renderContent()); // @phpstan-ignore-line
363367
} else {
364-
$moduleTemplate->assignMultiple($template_variables);
365-
return $moduleTemplate->renderResponse('Backend/ImageRecognize/AjaxMetaGenerate');
368+
$moduleTemplate->assignMultiple($template_variables); // @phpstan-ignore-line
369+
return $moduleTemplate->renderResponse('Backend/ImageRecognize/AjaxMetaGenerate'); // @phpstan-ignore-line
366370
}
371+
}
367372
}
368-
}
369-
370373

371374
protected function addMetaToFile($fileObject, $languages): array
372375
{

0 commit comments

Comments
 (0)