← All changes
|
modules/global-classes/import-export-utils/import-utils.php
+6
-0
4.2.0-dev2
→
4.2.4
View file →
| @@ -2,8 +2,9 @@ | ||
| 2 | 2 | |
| 3 | 3 | namespace Elementor\Modules\GlobalClasses\ImportExportUtils; |
| 4 | 4 | |
| 5 | 5 | use Elementor\App\Modules\ImportExportCustomization\Utils as ImportExportUtils; |
| 6 | +use Elementor\Modules\DesignSystemSync\Classes\Global_Classes_Sync_Map; | |
| 6 | 7 | use Elementor\Modules\GlobalClasses\Global_Class_Post; |
| 7 | 8 | use Elementor\Modules\GlobalClasses\Global_Classes_Repository; |
| 8 | 9 | use Elementor\Modules\GlobalClasses\Global_Classes_REST_API; |
| 9 | 10 | use Elementor\Modules\AtomicWidgets\Parsers\Style_Parser; |
| @@ -89,8 +90,9 @@ | ||
| 89 | 90 | $added_classes_order = []; |
| 90 | 91 | $added_classes_labels = []; |
| 91 | 92 | $modified_classes = []; |
| 92 | 93 | $deleted_classes = []; |
| 94 | + $touched_sync_items = []; | |
| 93 | 95 | |
| 94 | 96 | $previous_order = $classes_repository->get_order(); |
| 95 | 97 | $order_set = array_flip( $previous_order ); |
| 96 | 98 | $style_parser = Style_Parser::make( Style_Schema::get() ); |
| @@ -162,8 +164,9 @@ | ||
| 162 | 164 | if ( 'replace' === $action ) { |
| 163 | 165 | $existing_id = $label_to_id_map[ strtolower( $import_entry['label'] ) ]; |
| 164 | 166 | self::replace_existing_class( $existing_id, $sanitized_item ); |
| 165 | 167 | |
| 168 | + $touched_sync_items[ $existing_id ] = [ 'sync_to_v3' => ! empty( $sanitized_item['sync_to_v3'] ) ]; | |
| 166 | 169 | $modified_classes[] = $existing_id; |
| 167 | 170 | $result['replaced'][] = [ |
| 168 | 171 | 'import_entry' => $import_entry, |
| 169 | 172 | 'result_entry' => [ |
| @@ -188,8 +191,9 @@ | ||
| 188 | 191 | $sanitized_item['id'] = $new_id; |
| 189 | 192 | } |
| 190 | 193 | |
| 191 | 194 | self::create_new_class( $sanitized_item ); |
| 195 | + $touched_sync_items[ $new_id ] = [ 'sync_to_v3' => ! empty( $sanitized_item['sync_to_v3'] ) ]; | |
| 192 | 196 | $order_set[ $new_id ] = true; |
| 193 | 197 | $added_classes_order[] = $new_id; |
| 194 | 198 | $added_classes_labels[ $new_id ] = $sanitized_item['label']; |
| 195 | 199 | $label_to_id_map[ strtolower( $sanitized_item['label'] ) ] = $new_id; |
| @@ -217,8 +221,10 @@ | ||
| 217 | 221 | |
| 218 | 222 | if ( $has_changes ) { |
| 219 | 223 | $new_order = array_merge( $added_classes_order, $previous_order ); |
| 220 | 224 | $classes_repository->update_order_and_labels( $new_order, $added_classes_labels ); |
| 225 | + | |
| 226 | + Global_Classes_Sync_Map::make()->apply_changes( $touched_sync_items, $deleted_classes ); | |
| 221 | 227 | |
| 222 | 228 | $changes = [ |
| 223 | 229 | 'added' => $added_classes_order, |
| 224 | 230 | 'deleted' => $deleted_classes, |