postmeta} WHERE meta_key LIKE \"%enclosure\""; $results_data = $wpdb->get_results($query, ARRAY_A); foreach( $results_data as $index=> $row ) { list($url) = @explode("\n", $row['meta_value'], 2 ); $url = trim($url); if( $find_string == '' || strstr($url, $find_string) ) $Episodes[ $row['meta_id'] ] = $row; } return $Episodes; } function powerpressadmin_find_replace_update_meta($meta_id, $meta_value) { global $wpdb; return $wpdb->update( $wpdb->postmeta, array('meta_value'=>$meta_value), array('meta_id'=>$meta_id) ); } function powerpressadmin_find_replace_process() { $wp_remote_options = array(); $wp_remote_options['user-agent'] = 'Blubrry PowerPress/'.POWERPRESS_VERSION; $wp_remote_options['httpversion'] = '1.1'; global $g_FindReplaceResults; if( isset($_POST['FindReplace']) ) { $FindReplace = $_POST['FindReplace']; $FindReplace['step'] = intval( $FindReplace['step'] ); if( $FindReplace['step'] == 2 || $FindReplace['step'] == 3 ) { $success_count = 0; $failed_count = 0; $FoundArray = powerpressadmin_find_replace_get_enclosures($FindReplace['find_string']); foreach( $FoundArray as $meta_id=> $row ) { // powerpress_get_post_meta $meta_value = get_post_meta($row['post_id'], $row['meta_key'], true); $parts = explode("\n", $meta_value, 2); $other_meta_data = false; if( count($parts) == 2 ) list($old_url, $other_meta_data) = $parts; else $old_url = trim($meta_value); $old_url = trim($old_url); //echo $old_url; $g_FindReplaceResults[ $meta_id ] = $row; $g_FindReplaceResults[ $meta_id ]['old_url'] = $old_url; $g_FindReplaceResults[ $meta_id ]['find_readable'] = str_replace($FindReplace['find_string'], sprintf('%s', esc_attr($FindReplace['find_string'])), esc_attr($old_url) ); $g_FindReplaceResults[ $meta_id ]['replace_readable'] = str_replace($FindReplace['find_string'], sprintf('%s', esc_attr($FindReplace['replace_string']) ), esc_attr($old_url) ); $new_url = str_replace($FindReplace['find_string'],$FindReplace['replace_string'], $old_url); $g_FindReplaceResults[ $meta_id ]['new_url'] = $new_url; if( $FindReplace['step'] == 3 && $FindReplace['find_string'] != '' ) { $good = true; if( !empty($FindReplace['verify']) ) { $response = wp_remote_head( $new_url, $wp_remote_options ); // Redirect 1 if( !is_wp_error( $response ) && ($response['response']['code'] == 301 || $response['response']['code'] == 302) ) { $headers = wp_remote_retrieve_headers( $response ); $response = wp_remote_head( $headers['location'], $wp_remote_options ); } // Redirect 2 if( !is_wp_error( $response ) && ($response['response']['code'] == 301 || $response['response']['code'] == 302) ) { $headers = wp_remote_retrieve_headers( $response ); $response = wp_remote_head( $headers['location'], $wp_remote_options ); } // Redirect 3 if( !is_wp_error( $response ) && ($response['response']['code'] == 301 || $response['response']['code'] == 302) ) { $headers = wp_remote_retrieve_headers( $response ); $response = wp_remote_head( $headers['location'], $wp_remote_options ); } // Redirect 4 if( !is_wp_error( $response ) && ($response['response']['code'] == 301 || $response['response']['code'] == 302) ) { $headers = wp_remote_retrieve_headers( $response ); $response = wp_remote_head( $headers['location'], $wp_remote_options ); } //$headers = wp_remote_retrieve_headers( $response ); //$response = @wp_remote_head( $new_url, $wp_remote_options ); if ( is_wp_error( $response ) ) { $g_FindReplaceResults[ $meta_id ]['error'] = $response->get_error_message(); $good = false; } if( $good && isset($response['response']['code']) && ($response['response']['code'] < 200 || $response['response']['code'] > 203) ) { $g_FindReplaceResults[ $meta_id ]['error'] = 'Error, HTTP '.$response['response']['code']; $good = false; } } if( $good ) { $DataUpdated = $new_url; if( $other_meta_data ) $DataUpdated .= "\n". $other_meta_data; if( update_post_meta( $row['post_id'], $row['meta_key'], $DataUpdated) ) $success_count++; else $good = false; } if( !$good ) { $failed_count++; } $g_FindReplaceResults[ $meta_id ]['success'] = $good; } } if( $FindReplace['step'] == 3 ) { if( $success_count > 0 ) powerpress_page_message_add_notice( sprintf(__('%d URLs updated successfully.', 'powerpress'), $success_count) ); if( $failed_count > 0 ) powerpress_page_message_add_error( sprintf(__('%d URLs were not updated.', 'powerpress'), $failed_count) ); else if( $FindReplace['find_string'] == '' ) powerpress_page_message_add_notice( __('Nothing specified to find.', 'powerpress') ); } } } powerpress_page_message_add_notice( __('WARNING: Please backup your database before proceeding. Blubrry PowerPress is not responsible for any lost or damaged data resulting from this Find and Replace tool.', 'powerpress') ); } function powerpress_admin_find_replace() { $FindReplaceResults = array(); if( isset($_POST['FindReplace']) ) { $FindReplace = $_POST['FindReplace']; $FindReplace['step'] = intval( $FindReplace['step'] ); } else { $FindReplace = array(); $FindReplace['find_string'] = ''; $FindReplace['replace_string'] = ''; $FindReplace['step'] = 1; } if( $FindReplace['step'] == 2 ) { $FindReplace['verify'] = true; } if( $FindReplace['step'] == 2 || $FindReplace['step'] == 3 ) { $FindReplaceResults = powerpressadmin_find_replace_get_results(); } //$FindReplace = powerpress_esc_html($FindReplace); // Prevent XSS ?>

/>

: http://www.oldsite.com/

/>

: http://www.newsite.com/

". esc_attr($FindReplace['find_string']). "" ); ?>

    $row ) { $post_view_link = '' . get_the_title($row['post_id']) . ''; $post_edit_link = '' . __('Edit Post', 'powerpress') . ''; ?>
  1. '; powerpressadmin_find_replace_status($row['success']); echo '   '; if( !empty($row['error']) ) echo $row['error']; echo ''; } ?> Post: ()
    ()

0 ) { ?>

  onchange="return VerifyCheck(this)" /> ()

'. __('WP-DB-Backup', 'powerpress') .'' ); ?>