Skip to content

Commit d6f0b03

Browse files
authored
Merge pull request #11 from Maksonis/master
Pimcore X and PHP8.0 compatibility
2 parents 0eaa40f + 5284489 commit d6f0b03

6 files changed

Lines changed: 456 additions & 549 deletions

File tree

composer.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,7 @@
2828
}
2929
],
3030
"require": {
31-
"php": ">=7.0",
32-
"pimcore/pimcore": ">=6.8"
31+
"pimcore/pimcore": "^10.0"
3332
},
3433
"autoload": {
3534
"psr-4": {

src/QuickTranslateBundle/Controller/DocumentController.php

Lines changed: 24 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -57,12 +57,12 @@ public function getDocumentElementsAction(Request $request)
5757

5858
$brickName = $request->get("brickName");
5959
$elems = $db->fetchAll("SELECT name, type, data
60-
FROM documents_elements
60+
FROM documents_editables
6161
WHERE documentId=" . $document->getId() . " AND (type='input' OR type='textarea' OR type='wysiwyg') AND name LIKE '" . $brickName . "%'");
6262

6363
if ($elems == null && $document->getContentMasterDocumentId() != null) {
6464
$elems = $db->fetchAll("SELECT name, type, data
65-
FROM documents_elements
65+
FROM documents_editables
6666
WHERE documentId=" . $document->getContentMasterDocumentId() . " AND (type='input' OR type='textarea' OR type='wysiwyg') AND name LIKE '" . $brickName . "%'");
6767
}
6868

@@ -72,12 +72,12 @@ public function getDocumentElementsAction(Request $request)
7272
} else {
7373

7474
$elems = $db->fetchAll("SELECT name, type, data
75-
FROM documents_elements
75+
FROM documents_editables
7676
WHERE documentId=" . $request->get("id") . " AND (type='input' OR type='textarea' OR type='wysiwyg')");
7777

7878
if ($elems == null && $document->getContentMasterDocumentId() != null) {
7979
$elems = $db->fetchAll("SELECT name, type, data
80-
FROM documents_elements
80+
FROM documents_editables
8181
WHERE documentId=" . $document->getContentMasterDocumentId() . " AND (type='input' OR type='textarea' OR type='wysiwyg')");
8282
}
8383
}
@@ -90,11 +90,21 @@ public function getDocumentElementsAction(Request $request)
9090
];
9191
}
9292

93-
return JsonResponse::create([
94-
"elements" => $elements,
95-
"langTo" => ($isBrick ? $langTo : null),
96-
"type" => ($isBrick ? $type : null)
97-
]);
93+
if(isset($elements)){
94+
return JsonResponse::create([
95+
"elements" => $elements,
96+
"langTo" => ($isBrick ? $langTo : null),
97+
"type" => ($isBrick ? $type : null)
98+
]);
99+
}
100+
else{
101+
return JsonResponse::create([
102+
// "elements" => $elements[] = (object)[],
103+
// "langTo" => ($isBrick ? $langTo : null),
104+
// "type" => ($isBrick ? $type : null)
105+
"message" => 'Can\'t translate these elements'
106+
]);
107+
}
98108
}
99109

100110

@@ -103,13 +113,13 @@ public function saveBrickAction(Request $request)
103113
$elements = json_decode($request->get("elements"), true);
104114
$document = Document::getById($request->get("id"));
105115

106-
$oldElements = $document->getElements();
116+
$oldElements = $document->getEditables();
107117

108-
$document->setElements($oldElements);
118+
$document->setEditables($oldElements);
109119

110120
foreach ($elements as $key => $element) {
111121

112-
$document->setRawElement($key, $element["type"], $element["data"]);
122+
$document->setRawEditable($key, $element["type"], $element["data"]);
113123
}
114124

115125
$document->save();
@@ -147,15 +157,11 @@ public function saveDocumentAction(Request $request)
147157
if ($docType) {
148158
$createValues['template'] = $docType->getTemplate();
149159
$createValues['controller'] = $docType->getController();
150-
$createValues['action'] = $docType->getAction();
151-
$createValues['module'] = $docType->getModule();
152160
$createValues['legacy'] = $docType->getLegacy();
153161
} elseif ($request->get('translationsBaseDocument')) {
154162
$translationsBaseDocument = Document::getById($request->get('translationsBaseDocument'));
155163
$createValues['template'] = $translationsBaseDocument->getTemplate();
156164
$createValues['controller'] = $translationsBaseDocument->getController();
157-
$createValues['action'] = $translationsBaseDocument->getAction();
158-
$createValues['module'] = $translationsBaseDocument->getModule();
159165
} elseif ($request->get('type') == 'page' || $request->get('type') == 'snippet' || $request->get('type') == 'email') {
160166
$createValues += Tool::getRoutingDefaults();
161167
}
@@ -227,12 +233,12 @@ public function saveDocumentAction(Request $request)
227233
$translateDoc = Document::getById($request->get("translateDocId"));
228234

229235

230-
$newDoc->setElements($translateDoc->getElements());
236+
$newDoc->setEditables($translateDoc->getEditables());
231237

232238
$elements = json_decode($request->get("elements"), true);
233239

234240
foreach ($elements as $key => $element) {
235-
$newDoc->setRawElement($key, $element["type"], $element["data"]);
241+
$newDoc->setRawEditable($key, $element["type"], $element["data"]);
236242
}
237243

238244
$newDoc->save();

src/QuickTranslateBundle/DependencyInjection/Configuration.php

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,7 @@ class Configuration implements ConfigurationInterface
2525
*/
2626
public function getConfigTreeBuilder()
2727
{
28-
$treeBuilder = new TreeBuilder();
29-
$rootNode = $treeBuilder->root('asioso_quick_translate');
28+
$treeBuilder = new TreeBuilder('asioso_quick_translate');
3029

3130
// Here you should define the parameters that are allowed to
3231
// configure your bundle. See the documentation linked above for

src/QuickTranslateBundle/QuickTranslateBundle.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ class QuickTranslateBundle extends AbstractPimcoreBundle implements PimcoreBundl
2424
public function getJsPaths()
2525
{
2626
return [
27-
'https://code.jquery.com/jquery-3.4.1.min.js',
27+
'https://code.jquery.com/jquery-3.6.0.min.js',
2828
'/bundles/quicktranslate/js/pimcore/startup.js',
2929
'/bundles/quicktranslate/js/quick-translate-btn/quickTranslateObjectBtn.js',
3030
'/bundles/quicktranslate/js/quick-translate-btn/quickTranslateDocument.js',
Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,24 @@
11
asioso_quick_translate_object:
22
path: /asioso_quick_translate_object
3-
defaults: { _controller: QuickTranslateBundle:Object:translateObject }
3+
controller: Asioso\QuickTranslateBundle\Controller\ObjectController::translateObjectAction
44

55
asioso_quick_translate_document:
66
path: /asioso_quick_translate_document
7-
defaults: { _controller: QuickTranslateBundle:Document:saveDocument }
7+
controller: Asioso\QuickTranslateBundle\Controller\DocumentController::saveDocumentAction
88

99
asioso_quick_translate_brick:
1010
path: /asioso_quick_translate_brick
11-
defaults: { _controller: QuickTranslateBundle:Document:saveBrick }
11+
controller: Asioso\QuickTranslateBundle\Controller\DocumentController::saveBrickAction
1212

1313
asioso_quick_translate_get_document_elements:
1414
path: /asioso_quick_translate_get_document_elements
15-
defaults: { _controller: QuickTranslateBundle:Document:getDocumentElements }
15+
controller: Asioso\QuickTranslateBundle\Controller\DocumentController::getDocumentElementsAction
1616

1717
asioso_quick_translate_check_if_exists:
1818
path: /asioso_quick_translate_check_if_exists
19-
defaults: { _controller: QuickTranslateBundle:Document:checkIfExists }
19+
controller: Asioso\QuickTranslateBundle\Controller\DocumentController::checkIfExistsAction
2020

2121
asioso_quick_translate_get_auth_key:
2222
path: /asioso_quick_translate_get_auth_key
23-
defaults: { _controller: QuickTranslateBundle:Default:getAuthKey }
23+
controller: Asioso\QuickTranslateBundle\Controller\DefaultController::getAuthKeyAction
2424

0 commit comments

Comments
 (0)