HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux vm8 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: afleverb (1000)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: //var/www/drakkar_site/wp-content/themes/blocksy/inc/classes/db-versioning/v2-0-38.php
<?php

namespace Blocksy\DbVersioning;

class V2038 {
	public function migrate() {
		if (
			! function_exists('wc_get_attribute_taxonomies')
			||
			! function_exists('blc_get_terms')
			||
			! class_exists('\Blocksy\Plugin')
			||
			! in_array(
				'woocommerce-extra',
				get_option('blocksy_active_extensions', [])
			)
		) {
			return;
		}

		if (! class_exists('\Blocksy\Extensions\WoocommerceExtra\Storage')) {
			return;
		}

		$storage = new \Blocksy\Extensions\WoocommerceExtra\Storage();
		$settings = $storage->get_settings();

		if (
			! isset($settings['features']['variation-swatches'])
			||
			! $settings['features']['variation-swatches']
		) {
			return;
		}

		foreach (array_values(wc_get_attribute_taxonomies()) as $tax) {
			$all_terms = blc_get_terms(
				[
					'taxonomy' => 'pa_' . $tax->attribute_name,
					'update_term_meta_cache' => false,
					'meta_query' => [
						[
							'key' => 'short_name',
							'compare' => 'EXISTS'
						]
					]
				]
			);

			foreach ($all_terms as $term) {
				$short_name = get_term_meta(
					$term->term_id,
					'short_name',
					true
				);

				if (empty($short_name)) {
					continue;
				}

				$meta = blocksy_get_taxonomy_options($term->term_id);

				$meta['short_name'] = $short_name;

				update_term_meta(
					$term->term_id,
					'blocksy_taxonomy_meta_options',
					$meta
				);
			}
		}
	}
}