Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/10.5' into 10.6
Browse files Browse the repository at this point in the history
# Conflicts:
#	composer.json
#	phpstan-baseline.neon
  • Loading branch information
dvesh3 committed Mar 24, 2023
2 parents fac9c1b + d4d577d commit 532d0a6
Show file tree
Hide file tree
Showing 32 changed files with 171 additions and 123 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -455,6 +455,14 @@ public function saveAction(Request $request)
$class->rename($values['name']);
}

if ($values['compositeIndices']) {
foreach ($values['compositeIndices'] as $index => $compositeIndex) {
if ($compositeIndex['index_key'] !== ($sanitizedKey = preg_replace('/[^a-za-z0-9_\-+]/', '', $compositeIndex['index_key']))) {
$values['compositeIndices'][$index]['index_key'] = $sanitizedKey;
}
}
}

unset($values['creationDate']);
unset($values['userOwner']);
unset($values['layoutDefinitions']);
Expand Down
14 changes: 6 additions & 8 deletions bundles/AdminBundle/Controller/Admin/SettingsController.php
Original file line number Diff line number Diff line change
Expand Up @@ -404,14 +404,12 @@ public function getSystemAction(Request $request, Config $config)
$valueArray['general']['valid_language'] = explode(',', $valueArray['general']['valid_languages']);

//for "wrong" legacy values
if (is_array($valueArray['general']['valid_language'])) {
foreach ($valueArray['general']['valid_language'] as $existingValue) {
if (!in_array($existingValue, $validLanguages)) {
$languageOptions[] = [
'language' => $existingValue,
'display' => $existingValue,
];
}
foreach ($valueArray['general']['valid_language'] as $existingValue) {
if (!in_array($existingValue, $validLanguages)) {
$languageOptions[] = [
'language' => $existingValue,
'display' => $existingValue,
];
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1085,7 +1085,14 @@ pimcore.object.classes.klass = Class.create({
fieldLabel: t("key"),
labelWidth: 100,
width: 250,
value: data.index_key
value: data.index_key,
validator: function (value) {
if(value !== value.replace(/[^a-za-z0-9_\-+]/g,'')){
this.setvalue(value.replace(/[^a-za-z0-9_\-+]/g,''));
}

return true;
}
};

//fixes data to match store model
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,8 @@ pimcore.registerNS("pimcore.object.fieldcollection");
pimcore.object.fieldcollection = Class.create({

forbiddenNames: [
"abstract", "class", "data", "folder", "list", "permissions", "resource", "concrete", "interface", "default"
"abstract", "class", "data", "folder", "list", "permissions", "resource", "dao", "concrete", "items",
"object", "interface", "default"
],

initialize: function () {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ Ext.define('pimcore.object.helpers.ImageGalleryDropZone', {
var y = p.el.getY();
var w = p.el.getWidth();

if(xy[1] >y && (xy[1] < (y + h)) && xy[0] > x && (xy[0] < (x + w))) {
if(pos != currentPosition && (xy[1] >y && (xy[1] < (y + h)) && xy[0] > x && (xy[0] < (x + w)))) {
match = true;
break;
}else if (pos == len -1 && currentPosition != len - 1) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,12 @@ pimcore.object.tags.manyToOneRelation = Class.create(pimcore.object.tags.abstrac
pimcore.helpers.openElement(this.data.id, this.data.type, subtype);
}.bind(this));
}.bind(this));
this.component.on('afterrender', function (el) {
el.inputEl.setWidth(href.width);
el.inputEl.setStyle({
'overflow': 'hidden'
});
});

var items = [this.component, {
xtype: "button",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -931,12 +931,13 @@ pimcore.report.custom.item = Class.create({
},

saveOnComplete: function () {
this.parentPanel.tree.getStore().load();
pimcore.helpers.showNotification(t("success"), t("saved_successfully"), "success");

Ext.MessageBox.confirm(t("info"), t("reload_pimcore_changes"), function (buttonValue) {
if (buttonValue == "yes") {
window.location.reload();
} else {
this.parentPanel.tree.getStore().load();
}
}.bind(this));
}
Expand Down
2 changes: 1 addition & 1 deletion bundles/CoreBundle/DependencyInjection/Configuration.php
Original file line number Diff line number Diff line change
Expand Up @@ -2180,7 +2180,7 @@ private function addPredefinedPropertiesNode(ArrayNodeDefinition $rootNode)
*
* @param ArrayNodeDefinition $rootNode
*/
private function addStaticroutesNode(ArrayNodeDefinition $rootNode)
private function addStaticRoutesNode(ArrayNodeDefinition $rootNode)
{
$rootNode
->children()
Expand Down
19 changes: 0 additions & 19 deletions bundles/CoreBundle/DependencyInjection/PimcoreCoreExtension.php
Original file line number Diff line number Diff line change
Expand Up @@ -316,25 +316,6 @@ private function configureTargeting(ContainerBuilder $container, LoaderInterface
->setArgument('$actionHandlers', $actionHandlerLocator);
}

/**
* Configures a "typed locator" (a class exposing get/has for a specific type) wrapping
* a standard service locator. Example: Pimcore\Targeting\DataProviderLocator
*
* @param ContainerBuilder $container
* @param string $locatorClass
* @param array $services
*/
private function configureTypedLocator(ContainerBuilder $container, string $locatorClass, array $services)
{
$serviceLocator = new Definition(ServiceLocator::class, [$services]);
$serviceLocator
->setPublic(false)
->addTag('container.service_locator');

$locator = $container->getDefinition($locatorClass);
$locator->setArgument('$locator', $serviceLocator);
}

/**
* Handle pimcore.security.encoder_factories mapping
*
Expand Down
50 changes: 50 additions & 0 deletions bundles/CoreBundle/Migrations/Version20230307135459.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
<?php

declare(strict_types=1);

/**
* Pimcore
*
* This source file is available under two different licenses:
* - GNU General Public License version 3 (GPLv3)
* - Pimcore Commercial License (PCL)
* Full copyright and license information is available in
* LICENSE.md which is distributed with this source code.
*
* @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)
* @license http://www.pimcore.org/license GPLv3 and PCL
*/

namespace Pimcore\Bundle\CoreBundle\Migrations;

use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
use Pimcore\Model\DataObject\Concrete\Dao\InheritanceHelper;

final class Version20230307135459 extends AbstractMigration
{
protected string $fieldname = 'fieldname';

public function getDescription(): string
{
return 'Add fieldname index to object_relations_ tables';
}

public function up(Schema $schema): void
{
foreach ($schema->getTables() as $table) {
if (str_starts_with($table->getName(), InheritanceHelper::RELATION_TABLE) && !$table->hasIndex($this->fieldname)) {
$table->addIndex([$this->fieldname], $this->fieldname);
}
}
}

public function down(Schema $schema): void
{
foreach ($schema->getTables() as $table) {
if (str_starts_with($table->getName(), InheritanceHelper::RELATION_TABLE) && $table->hasIndex($this->fieldname)) {
$table->dropIndex($this->fieldname);
}
}
}
}
1 change: 1 addition & 0 deletions bundles/CoreBundle/Resources/config/message_handler.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ services:
Pimcore\Messenger\Handler\AssetUpdateTasksHandler:
arguments:
- '@logger'
- '@Pimcore\Helper\LongRunningHelper'
tags:
- { name: messenger.message_handler }

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ abstract class CachingPriceSystem extends AbstractPriceSystem implements Caching
public function getPriceInfo(CheckoutableInterface $product, $quantityScale = 1, $products = null): PriceInfoInterface
{
$pId = $product->getId();
if (!array_key_exists($pId, $this->priceInfos) || !is_array($this->priceInfos[$pId])) {
if (!array_key_exists($pId, $this->priceInfos)) {
$this->priceInfos[$pId] = [];
}

Expand Down
2 changes: 1 addition & 1 deletion composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -175,7 +175,7 @@
"codeception/module-symfony": "^1.6.0",
"codeception/phpunit-wrapper": "^9",
"pimcore/elasticsearch-client": "^1.0.0",
"phpstan/phpstan": "1.9.17",
"phpstan/phpstan": "1.10.5",
"phpstan/phpstan-symfony": "^1.2.19",
"phpunit/phpunit": "^9.3",
"spiritix/php-chrome-html2pdf": "^1.6",
Expand Down
2 changes: 1 addition & 1 deletion lib/Config/Config.php
Original file line number Diff line number Diff line change
Expand Up @@ -394,6 +394,6 @@ public function __toString()
return '';
}

return is_string($this->data) ? (string)$this->data : json_encode($this->data, JSON_PRETTY_PRINT);
return json_encode($this->data, JSON_PRETTY_PRINT);
}
}
6 changes: 2 additions & 4 deletions lib/DataObject/ClassBuilder/ClassBuilder.php
Original file line number Diff line number Diff line change
Expand Up @@ -126,10 +126,8 @@ public function buildClass(ClassDefinition $classDefinition): string

$cd .= "\n\n";

if (is_array($classDefinition->getFieldDefinitions()) && count($classDefinition->getFieldDefinitions())) {
foreach ($classDefinition->getFieldDefinitions() as $def) {
$cd .= $this->fieldDefinitionBuilder->buildFieldDefinition($classDefinition, $def);
}
foreach ($classDefinition->getFieldDefinitions() as $def) {
$cd .= $this->fieldDefinitionBuilder->buildFieldDefinition($classDefinition, $def);
}

$cd .= "}\n";
Expand Down
6 changes: 2 additions & 4 deletions lib/DataObject/ClassBuilder/FieldCollectionClassBuilder.php
Original file line number Diff line number Diff line change
Expand Up @@ -62,10 +62,8 @@ public function buildClass(Definition $definition): string

$cd .= 'protected $type = "' . $definition->getKey() . "\";\n";

if (is_array($definition->getFieldDefinitions()) && count($definition->getFieldDefinitions())) {
foreach ($definition->getFieldDefinitions() as $key => $def) {
$cd .= 'protected $' . $key . ";\n";
}
foreach ($definition->getFieldDefinitions() as $key => $def) {
$cd .= 'protected $' . $key . ";\n";
}

$cd .= "\n\n";
Expand Down
24 changes: 10 additions & 14 deletions lib/DataObject/ClassBuilder/ObjectBrickClassBuilder.php
Original file line number Diff line number Diff line change
Expand Up @@ -66,10 +66,8 @@ public function buildClass(Definition $definition): string

$cd .= 'protected $type = "' . $definition->getKey() . "\";\n";

if (is_array($definition->getFieldDefinitions()) && count($definition->getFieldDefinitions())) {
foreach ($definition->getFieldDefinitions() as $key => $def) {
$cd .= 'protected $' . $key . ";\n";
}
foreach ($definition->getFieldDefinitions() as $key => $def) {
$cd .= 'protected $' . $key . ";\n";
}

$cd .= "\n\n";
Expand All @@ -87,19 +85,17 @@ public function buildClass(Definition $definition): string

$cd .= "\n\n";

if (is_array($definition->getFieldDefinitions()) && count($definition->getFieldDefinitions())) {
foreach ($definition->getFieldDefinitions() as $key => $def) {
$cd .= $def->getGetterCodeObjectbrick($definition);
foreach ($definition->getFieldDefinitions() as $def) {
$cd .= $def->getGetterCodeObjectbrick($definition);

if ($def instanceof ClassDefinition\Data\Localizedfields) {
$cd .= $def->getGetterCode($definition);
}
if ($def instanceof ClassDefinition\Data\Localizedfields) {
$cd .= $def->getGetterCode($definition);
}

$cd .= $def->getSetterCodeObjectbrick($definition);
$cd .= $def->getSetterCodeObjectbrick($definition);

if ($def instanceof ClassDefinition\Data\Localizedfields) {
$cd .= $def->getSetterCode($definition);
}
if ($def instanceof ClassDefinition\Data\Localizedfields) {
$cd .= $def->getSetterCode($definition);
}
}

Expand Down
2 changes: 1 addition & 1 deletion lib/Log/ApplicationLogger.php
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,7 @@ public function setRelatedObject($relatedObject)
*/
public function log($level, $message, array $context = [])// : void
{
if (!isset($context['component']) || is_null($context['component'])) {
if (!isset($context['component'])) {
$context['component'] = $this->component;
}

Expand Down
2 changes: 1 addition & 1 deletion lib/Maintenance/Tasks/VersionsCleanupTask.php
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ private function doVersionCleanup()
}
$value = $tConf['steps'] ?? 10;

if (isset($tConf['days']) && !is_null($tConf['days'])) {
if (isset($tConf['days'])) {
$versioningType = 'days';
$value = (int)$tConf['days'];
}
Expand Down
5 changes: 4 additions & 1 deletion lib/Messenger/Handler/AssetUpdateTasksHandler.php
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@

namespace Pimcore\Messenger\Handler;

use Pimcore\Helper\LongRunningHelper;
use Pimcore\Messenger\AssetUpdateTasksMessage;
use Pimcore\Model\Asset;
use Pimcore\Model\Version;
Expand All @@ -25,7 +26,7 @@
*/
class AssetUpdateTasksHandler
{
public function __construct(protected LoggerInterface $logger)
public function __construct(protected LoggerInterface $logger, protected LongRunningHelper $longRunningHelper)
{
}

Expand All @@ -46,6 +47,8 @@ public function __invoke(AssetUpdateTasksMessage $message)
} elseif ($asset instanceof Asset\Video) {
$this->processVideo($asset);
}

$this->longRunningHelper->deleteTemporaryFiles();
}

private function saveAsset(Asset $asset)
Expand Down
4 changes: 2 additions & 2 deletions lib/Routing/RedirectHandler.php
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ final class RedirectHandler implements LoggerAwareInterface
private $siteResolver;

/**
* @var Redirect[]
* @var null|Redirect[]
*/
private $redirects;

Expand Down Expand Up @@ -261,7 +261,7 @@ protected function buildRedirectResponse(Redirect $redirect, Request $request, $
*/
private function getRegexRedirects()
{
if (null !== $this->redirects && is_array($this->redirects)) {
if (is_array($this->redirects)) {
return $this->redirects;
}

Expand Down
8 changes: 3 additions & 5 deletions lib/Workflow/SupportStrategy/ExpressionSupportStrategy.php
Original file line number Diff line number Diff line change
Expand Up @@ -77,11 +77,9 @@ private function supportsClass($subject)
return $subject instanceof $this->className;
}

if (is_array($this->className)) {
foreach ($this->className as $className) {
if ($subject instanceof $className) {
return true;
}
foreach ($this->className as $className) {
if ($subject instanceof $className) {
return true;
}
}

Expand Down
1 change: 1 addition & 0 deletions models/DataObject/ClassDefinition/Dao.php
Original file line number Diff line number Diff line change
Expand Up @@ -154,6 +154,7 @@ public function update()
`position` varchar(70) NOT NULL DEFAULT '0',
INDEX `forward_lookup` (`src_id`, `ownertype`, `ownername`, `position`),
INDEX `reverse_lookup` (`dest_id`, `type`),
INDEX `fieldname` (`fieldname`),
CONSTRAINT `".self::getForeignKeyName($objectDatastoreTableRelation, 'src_id').'` FOREIGN KEY (`src_id`) REFERENCES objects (`o_id`) ON DELETE CASCADE
) DEFAULT CHARSET=utf8mb4;');

Expand Down
9 changes: 4 additions & 5 deletions models/DataObject/ClassDefinition/Data/Block.php
Original file line number Diff line number Diff line change
Expand Up @@ -665,11 +665,10 @@ public function getFieldDefinitions($context = [])
}

$enrichedFieldDefinitions = [];
if (is_array($this->fieldDefinitionsCache)) {
foreach ($this->fieldDefinitionsCache as $key => $fieldDefinition) {
$fieldDefinition = $this->doEnrichFieldDefinition($fieldDefinition, $context);
$enrichedFieldDefinitions[$key] = $fieldDefinition;
}

foreach ($this->fieldDefinitionsCache ?? [] as $key => $fieldDefinition) {
$fieldDefinition = $this->doEnrichFieldDefinition($fieldDefinition, $context);
$enrichedFieldDefinitions[$key] = $fieldDefinition;
}

return $enrichedFieldDefinitions;
Expand Down
Loading

0 comments on commit 532d0a6

Please sign in to comment.