From 5712c910d47e2c64a7cb5dfb19661d2620eae7ae Mon Sep 17 00:00:00 2001 From: OlegSofonov Date: Tue, 24 Sep 2024 16:24:01 +0500 Subject: [PATCH 1/2] add check outdated fields --- src/Components/UpdateSettings.php | 45 +++++++++++++++++++ .../UpdateSettings.php:Zone.Identifier | 2 + src/Forms/SettingsForm.php | 4 ++ src/Forms/SettingsForm.php:Zone.Identifier | 2 + 4 files changed, 53 insertions(+) create mode 100644 src/Components/UpdateSettings.php create mode 100644 src/Components/UpdateSettings.php:Zone.Identifier create mode 100644 src/Forms/SettingsForm.php:Zone.Identifier diff --git a/src/Components/UpdateSettings.php b/src/Components/UpdateSettings.php new file mode 100644 index 0000000..4992040 --- /dev/null +++ b/src/Components/UpdateSettings.php @@ -0,0 +1,45 @@ +getData(); + $arraySettings = $settings->all(); + $newFieldKeys = []; + foreach ($arraySettings['main']['fields'] as $fieldKey) { + $partsFieldKey = explode(".", $fieldKey); + + preg_match('/\[(.*?)\]/', $fieldKey, $matches); + $fieldName = ''; + if (isset($matches[1])) { + $fieldName = $matches[1]; + } + [,$fieldType] = $partsFieldKey; + if ($fieldType !== "phoneFields") { + $newFieldKeys[] = $fieldKey; + continue; + } + + [$preLastKey, $lastKey] = array_slice($partsFieldKey, -2, 2); + + if ($lastKey === "duplicates") { + $newFieldKeys[] = "contacts.phones.[$fieldName].duplicates"; + continue; + } + + $newFieldKeys[] = ($preLastKey === "phone") ? "data.phoneFields.[$fieldName].value.$lastKey" : $fieldKey; + } + + if (json_encode($arraySettings['main']['fields']) !== json_encode($newFieldKeys)) { + $settings->set('main.fields', $newFieldKeys); + $settingModel->setData($settings); + $settingModel->save(); + } + } +} \ No newline at end of file diff --git a/src/Components/UpdateSettings.php:Zone.Identifier b/src/Components/UpdateSettings.php:Zone.Identifier new file mode 100644 index 0000000..a45e1ac --- /dev/null +++ b/src/Components/UpdateSettings.php:Zone.Identifier @@ -0,0 +1,2 @@ +[ZoneTransfer] +ZoneId=3 diff --git a/src/Forms/SettingsForm.php b/src/Forms/SettingsForm.php index 138f201..ab0dc4d 100644 --- a/src/Forms/SettingsForm.php +++ b/src/Forms/SettingsForm.php @@ -17,6 +17,7 @@ use SalesRender\Plugin\Components\Form\Form; use SalesRender\Plugin\Components\Translations\Translator; use SalesRender\Plugin\Instance\Excel\Components\Columns; +use SalesRender\Plugin\Instance\Excel\Components\UpdateSettings; use SalesRender\Plugin\Instance\Excel\ValuesList\FormatValues; class SettingsForm extends Form @@ -30,6 +31,9 @@ public function __construct() { $columns = new Columns(); $format = new FormatValues(); + + UpdateSettings::updatesOutdatedFields(); + parent::__construct( Translator::get( 'settings', diff --git a/src/Forms/SettingsForm.php:Zone.Identifier b/src/Forms/SettingsForm.php:Zone.Identifier new file mode 100644 index 0000000..a45e1ac --- /dev/null +++ b/src/Forms/SettingsForm.php:Zone.Identifier @@ -0,0 +1,2 @@ +[ZoneTransfer] +ZoneId=3 From de904d964c31598738bd8ec9232fb629c9c39869 Mon Sep 17 00:00:00 2001 From: OlegSofonov Date: Tue, 24 Sep 2024 16:25:12 +0500 Subject: [PATCH 2/2] del lost files --- src/Components/UpdateSettings.php:Zone.Identifier | 2 -- src/Forms/SettingsForm.php:Zone.Identifier | 2 -- 2 files changed, 4 deletions(-) delete mode 100644 src/Components/UpdateSettings.php:Zone.Identifier delete mode 100644 src/Forms/SettingsForm.php:Zone.Identifier diff --git a/src/Components/UpdateSettings.php:Zone.Identifier b/src/Components/UpdateSettings.php:Zone.Identifier deleted file mode 100644 index a45e1ac..0000000 --- a/src/Components/UpdateSettings.php:Zone.Identifier +++ /dev/null @@ -1,2 +0,0 @@ -[ZoneTransfer] -ZoneId=3 diff --git a/src/Forms/SettingsForm.php:Zone.Identifier b/src/Forms/SettingsForm.php:Zone.Identifier deleted file mode 100644 index a45e1ac..0000000 --- a/src/Forms/SettingsForm.php:Zone.Identifier +++ /dev/null @@ -1,2 +0,0 @@ -[ZoneTransfer] -ZoneId=3