HEX
Server: Apache/2
System: Linux server-27-254-144-72.da.direct 5.10.0-33-amd64 #1 SMP Debian 5.10.226-1 (2024-10-03) x86_64
User: pokaorgani (1114)
PHP: 8.1.33
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: /home/pokaorgani/public_html/wp-content/plugins/siteorigin-panels/widgets/migration.php
<?php

/**
 * Go through all the old PB widgets and change them into far better visual editor widgets
 *
 * @param array $panels_data
 *
 * @return array
 */
function siteorigin_panels_legacy_widget_migration( $panels_data ) {
	if ( ! empty( $panels_data['widgets'] ) && is_array( $panels_data['widgets'] ) ) {
		foreach ( $panels_data['widgets'] as &$widget ) {
			switch ( $widget['panels_info']['class'] ) {
				case 'SiteOrigin_Panels_Widgets_Gallery':
					$shortcode = '[gallery ';

					if ( ! empty( $widget['ids'] ) ) {
						$shortcode .= 'ids="' . esc_attr( $widget['ids'] ) . '" ';
					}
					$shortcode = trim( $shortcode ) . ']';

					$widget = array(
						'title' => '',
						'filter' => '1',
						'type' => 'visual',
						'text' => $shortcode,
						'panels_info' => $widget['panels_info'],
					);
					$widget['panels_info']['class'] = 'SiteOrigin_Widget_Editor_Widget';

					break;

				case 'SiteOrigin_Panels_Widgets_Image':
					if ( class_exists( 'SiteOrigin_Panels_Widgets_Image' ) ) {
						ob_start();
						the_widget(
							'SiteOrigin_Panels_Widgets_Image',
							$widget,
							array(
								'before_widget' => '',
								'after_widget' => '',
								'before_title' => '',
								'after_title' => '',
							)
						);

						$widget = array(
							'title' => '',
							'filter' => '1',
							'type' => 'visual',
							'text' => ob_get_clean(),
							'panels_info' => $widget['panels_info'],
						);

						$widget['panels_info']['class'] = 'SiteOrigin_Widget_Editor_Widget';
					}

					break;
			}
		}
	}

	return $panels_data;
}
add_filter( 'siteorigin_panels_data', 'siteorigin_panels_legacy_widget_migration' );