File manager - Edit - /home/wwwwaterjetperth/public_html/wp-content/plugins/head-footer-code/update.php
Back
<?php /** * Routines to update Head & Footer Code database through new versions * * @package Head_Footer_Code * @since 1.0.1 */ // If this file is called directly, abort. if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Run the incremental updates one by one. * * For example, if the current DB version is 3, and the target DB version is 6, * this function will execute update routines if they exist: * - auhfc_update_4() * - auhfc_update_5() * - auhfc_update_6() */ function auhfc_update() { // Get the current database schema version number. $current_db_ver = get_option( 'auhfc_db_ver', 0 ); // Get the target version that we need to reach. $target_db_ver = HFC_VER_DB; // Run update routines one by one until the current version number // reaches the target version number. while ( $current_db_ver < $target_db_ver ) { // Increment the current_db_ver by one. ++$current_db_ver; // Each DB version will require a separate update function // for example, for db_ver 3, the function name should be auhfc_update_3. $func = "auhfc_update_{$current_db_ver}"; if ( function_exists( $func ) ) { call_user_func( $func ); } // Update the option in the database, // so that this process can always pick up where it left off. update_option( 'auhfc_db_ver', $current_db_ver ); } } /** * Initialize updater */ function auhfc_update_1() { // Get options from DB. $defaults = get_option( 'auhfc_settings' ); if ( ! is_array( $defaults ) ) { return; } // Split priority to priority_h and priority_f. if ( isset( $defaults['priority'] ) ) { // Split single to specific option values. if ( ! isset( $defaults['priority_h'] ) ) { $defaults['priority_h'] = $defaults['priority']; } if ( ! isset( $defaults['priority_f'] ) ) { $defaults['priority_f'] = $defaults['priority']; } // Unset old key value. unset( $defaults['priority'] ); // Save settings to DB. update_option( 'auhfc_settings', $defaults ); } } /** * Add shortcode processor option */ function auhfc_update_2() { // Get options from DB. $defaults = get_option( 'auhfc_settings' ); if ( ! is_array( $defaults ) ) { return; } // Add new plugin option. if ( ! isset( $defaults['do_shortcode'] ) ) { $defaults['do_shortcode'] = 'n'; } // Save settings to DB. update_option( 'auhfc_settings', $defaults ); } /** * Initialize updater */ function auhfc_update_3() { // Get options from DB. $defaults = get_option( 'auhfc_settings' ); if ( ! is_array( $defaults ) ) { return; } // Add empty body field to options. if ( ! isset( $defaults['body'] ) ) { $defaults['body'] = ''; } // Add body field priority to options. if ( ! isset( $defaults['priority_b'] ) ) { $defaults['priority_b'] = 10; } // Save settings to DB. update_option( 'auhfc_settings', $defaults ); } /** * Add homepage blog posts code defaults */ function auhfc_update_4() { // Get options from DB. $defaults = get_option( 'auhfc_settings' ); if ( ! is_array( $defaults ) ) { return; } // Add empty homepage_head field to options. if ( ! isset( $defaults['homepage_head'] ) ) { $defaults['homepage_head'] = ''; } // Add empty homepage_body field to options. if ( ! isset( $defaults['homepage_body'] ) ) { $defaults['homepage_body'] = ''; } // Add empty homepage_footer field to options. if ( ! isset( $defaults['homepage_footer'] ) ) { $defaults['homepage_footer'] = ''; } // Add empty homepage_behavior field to options. if ( ! isset( $defaults['homepage_behavior'] ) ) { $defaults['homepage_behavior'] = 'append'; } // Save settings to DB. update_option( 'auhfc_settings', $defaults ); } /** * Split settings to 3 options (v1.2) */ function auhfc_update_5() { // Get options from DB. $defaults = get_option( 'auhfc_settings' ); if ( ! is_array( $defaults ) ) { return; } $sitewide = array( 'head' => ! empty( $defaults['head'] ) ? $defaults['head'] : '', 'body' => ! empty( $defaults['body'] ) ? $defaults['body'] : '', 'footer' => ! empty( $defaults['footer'] ) ? $defaults['footer'] : '', 'do_shortcode' => ! empty( $defaults['do_shortcode'] ) ? $defaults['do_shortcode'] : 'n', ); update_option( 'auhfc_settings_sitewide', $sitewide ); $homepage = array( 'head' => ! empty( $defaults['homepage_head'] ) ? $defaults['homepage_head'] : '', 'body' => ! empty( $defaults['homepage_body'] ) ? $defaults['homepage_body'] : '', 'footer' => ! empty( $defaults['homepage_footer'] ) ? $defaults['homepage_footer'] : '', 'behavior' => ! empty( $defaults['homepage_behavior'] ) ? $defaults['homepage_behavior'] : 'append', ); update_option( 'auhfc_settings_homepage', $homepage ); $article = array( 'post_types' => ! empty( $defaults['post_types'] ) ? $defaults['post_types'] : array(), ); update_option( 'auhfc_settings_article', $article ); // Now delete old single option. delete_option( 'auhfc_settings' ); } /** * Fix PHP Warning: in_array() expects parameter 2 to be array, null given in head-footer-code/inc/front.php on line 46, 111, and 176 */ function auhfc_update_6() { $article = get_option( 'auhfc_settings_article' ); if ( ! is_array( $article ) ) { return; } if ( is_null( $article['post_types'] ) ) { $article['post_types'] = array(); update_option( 'auhfc_settings_article', $article ); } } /** * Do Shortcode per location */ function auhfc_update_7() { // Get options from DB. $sitewide = get_option( 'auhfc_settings_sitewide' ); if ( ! is_array( $sitewide ) ) { return; } if ( ! empty( $sitewide['do_shortcode'] ) ) { $sitewide['do_shortcode_h'] = 'n'; $sitewide['do_shortcode_b'] = 'n'; $sitewide['do_shortcode_f'] = $sitewide['do_shortcode']; } else { $sitewide['do_shortcode_h'] = 'n'; $sitewide['do_shortcode_b'] = 'n'; $sitewide['do_shortcode_f'] = 'n'; } unset( $sitewide['do_shortcode'] ); update_option( 'auhfc_settings_sitewide', $sitewide ); } /** * Add or not homepage in Blog Post mode on paged pages */ function auhfc_update_8() { // Get options from DB. $homepage = get_option( 'auhfc_settings_homepage' ); if ( ! is_array( $homepage ) ) { return; } if ( empty( $homepage['paged'] ) ) { $homepage['paged'] = 'yes'; } update_option( 'auhfc_settings_homepage', $homepage ); } /** * Add option to allow unprivileged user roles to manage article-specific HFC */ function auhfc_update_9() { // Get options from DB. $homepage = get_option( 'auhfc_settings_homepage' ); if ( ! is_array( $homepage ) ) { return; } if ( empty( $homepage['allowed_roles'] ) ) { $homepage['allowed_roles'] = array(); } update_option( 'auhfc_settings_homepage', $homepage ); } /** * Migration for v. 1.5.3 * Clean up double slashes from existing meta data caused by previous double-slashing. * Processes 500 records at a time and stays on DB version 9 until * all records are cleaned to prevent timeouts and memory exhaustion. */ function auhfc_update_10() { global $wpdb; $meta_key = '_auhfc'; $batch_size = 500; $has_more = false; /** * Strip slashes from Post Metas when actually contain backslashes (\\) in meta_value. */ $post_metas = $wpdb->get_results( $wpdb->prepare( "SELECT post_id, meta_value FROM $wpdb->postmeta WHERE meta_key = %s AND meta_value LIKE %s LIMIT %d", $meta_key, '%' . $wpdb->esc_like( '\\' ) . '%', $batch_size ) ); if ( ! empty( $post_metas ) ) { $has_more = true; foreach ( $post_metas as $meta ) { $original_data = maybe_unserialize( $meta->meta_value ); if ( is_array( $original_data ) ) { $cleaned_data = stripslashes_deep( $original_data ); if ( $cleaned_data !== $original_data ) { update_post_meta( $meta->post_id, $meta_key, wp_slash( $cleaned_data ) ); } } } } /** * Strip slashes from Taxonomies (Terms) within available batch capacity. */ if ( count( $post_metas ) < $batch_size ) { $term_metas = $wpdb->get_results( $wpdb->prepare( "SELECT term_id, meta_value FROM $wpdb->termmeta WHERE meta_key = %s AND meta_value LIKE %s LIMIT %d", $meta_key, '%' . $wpdb->esc_like( '\\' ) . '%', $batch_size - count( $post_metas ) ) ); if ( ! empty( $term_metas ) ) { $has_more = true; foreach ( $term_metas as $meta ) { $original_data = maybe_unserialize( $meta->meta_value ); if ( is_array( $original_data ) ) { $cleaned_data = stripslashes_deep( $original_data ); if ( $cleaned_data !== $original_data ) { update_term_meta( $meta->term_id, $meta_key, wp_slash( $cleaned_data ) ); } } } } } /** * Revert DB versin if there is more work in batches so * Main::plugins_loaded() triggers this function agaiuntil completion. */ if ( $has_more ) { update_option( 'auhfc_db_ver', 9 ); } } /** * Migration for v. 1.5.4 * Add support for taxonomies and pre-select 'category'. */ function auhfc_update_11() { // Get options from DB. $article = get_option( 'auhfc_settings_article' ); if ( ! is_array( $article ) ) { return; } if ( empty( $article['taxonomies'] ) ) { $article['taxonomies'] = array( 'category' ); } update_option( 'auhfc_settings_article', $article ); }
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Generation time: 0 |
proxy
|
phpinfo
|
Settings