芝麻web文件管理V1.00
编辑当前文件:/var/www/cognitio.in/wp-content/plugins/popup-maker/includes/functions/themes/migrations.php
[ 'publish', 'pending', 'draft', 'auto-draft', 'future', 'private', 'inherit', 'trash' ], ] ); set_transient( 'pum_theme_count', $theme_count, MINUTE_IN_SECONDS ); } } return pum_is_popup_theme_editor() || $theme_count <= apply_filters( 'pum_passive_themes_enabled_max_count', 10 ); } /** * Upgrade popup data to model v2. * * @since 1.8.0 * * @param PUM_Model_Theme $theme */ function pum_theme_migration_1( &$theme ) { $delete_meta = [ 'popup_theme_defaults_set' ]; // Used to merge with existing values to ensure data integrity. $meta_defaults = pum_get_theme_v2_meta_defaults(); foreach ( array_keys( $meta_defaults ) as $group ) { // Get old data. $v1_meta_values = pum_get_theme_v1_meta( $group, $theme->ID ); // Loop over all fields which were merged and mark their meta keys for deletion. foreach ( $v1_meta_values as $old_meta_key => $old_meta_value ) { $delete_meta[] = "popup_theme_{$group}_{$old_meta_key}"; } $existing_v2_meta = $theme->get_meta( "popup_theme_{$group}" ); if ( ! empty( $existing_v2_meta ) ) { continue; } // Merge defaults. $values = wp_parse_args( $v1_meta_values, $meta_defaults[ $group ] ); // Update meta storage. $theme->update_meta( "popup_theme_{$group}", $values ); } /** * Clean up automatically. */ pum_cleanup_post_meta_keys( $theme->ID, $delete_meta ); } add_action( 'pum_theme_passive_migration_1', 'pum_theme_migration_1' ); /** * Upgrade popup data to model v3. * * @since 1.8.0 * * @param PUM_Model_Theme $theme */ function pum_theme_migration_2( &$theme ) { $changed = false; $delete_meta = []; $settings = $theme->get_settings(); $old_meta_elements = [ 'overlay', 'container', 'title', 'content', 'close', ]; foreach ( $old_meta_elements as $element ) { $meta_key = 'popup_theme_' . $element; /** * Migrate popup_theme_overlay meta data. */ $element_data = $theme->get_meta( $meta_key ); if ( ! empty( $element_data ) && is_array( $element_data ) ) { $keys = $theme->remapped_meta_settings_keys( $element ); // Foreach old key, save the value under popup settings for the new key. foreach ( $keys as $old_key => $new_key ) { if ( isset( $element_data[ $old_key ] ) ) { $settings[ $new_key ] = $element_data[ $old_key ]; $changed = true; unset( $element_data[ $old_key ] ); } } if ( empty( $element_data ) ) { $delete_meta[] = $meta_key; } else { // Update the saved popup display data with any remaining keys from extensions. $theme->update_meta( $meta_key, $element_data ); } } } /** * Save only if something changed. */ if ( $changed ) { $theme->update_meta( 'popup_theme_settings', $settings ); } /** * Clean up automatically. */ pum_cleanup_post_meta_keys( $theme->ID, $delete_meta ); } add_action( 'pum_theme_passive_migration_2', 'pum_theme_migration_2' );