"thumbnail", "rss"=>0, "rss2"=>1, "media"=>0, "enclosure"=>1, "version"=>"1.1" ); if ($default) { update_option('wp_rss_img_op', $rss_img_default_op); return $rss_img_default_op; } $options = get_option('wp_rss_img_op'); if (isset($options)){ if (isset($options['version'])) { $chk_version = version_compare("1.1",$options['version']); if ($chk_version == 0) return $options; else if ($chk_version > 0) $options = $rss_img_default_op; } else { $options = $rss_img_default_op; } } update_option('wp_rss_img_op', $options); return $options; } add_action('admin_menu', 'wp_rss_img_menu'); add_action("do_feed_rss","wp_rss_img_do_feed",5,1); add_action("do_feed_rss2","wp_rss_img_do_feed",5,1); function wp_rss_img_do_feed($for_comments){ if(!$for_comments) { $options = wp_rss_img_get_options(); if($options['media']) add_action('rss2_ns', 'wp_rss_img_adding_yahoo_media_tag'); if ($options['rss']) add_action('rss_item', 'wp_rss_img_include'); if ($options['rss2']) add_action('rss2_item', 'wp_rss_img_include'); } } function wp_rss_img_include (){ $options = wp_rss_img_get_options(); $media = $options['media']; $enclosure = $options['enclosure']; $image_size = $options['size']; $image_url = wp_rss_img_url($image_size); if (!empty($image_url) && ($enclosure || $media)) { $uploads = wp_upload_dir(); $url = parse_url($image_url); $path = $uploads['basedir'] . preg_replace( '/.*uploads(.*)/', '${1}', $url['path'] ); if ( file_exists( $path ) ) { $filesize = filesize( $path ); $url = $path; } else { $ary_header = get_headers($image_url, 1); $filesize = $ary_header['Content-Length']; $url = $image_url; } if($enclosure) echo ''; if($media){ list($width, $height, $type, $attr) = getimagesize($url); echo ''; } } } function wp_rss_img_adding_yahoo_media_tag(){ echo 'xmlns:media="http://search.yahoo.com/mrss/"'; } /** * Returns a URL to an image in the user uploads directory on this server. * * Developers can hook the wp_rss_image_alternative filter to provide their * own image URL on this server, or hook the wp_rss_image_size filter to * provide a specific size for the featured_image. * * @param string $size Defaults to medium, a WordPress image size added with add_image_size * @return string The URL to an image on this server */ function wp_rss_img_url($size = 'medium') { global $post; if ( $img_url = apply_filters( 'wp_rss_image_alternative', false, $post->ID ) ) { return $img_url; } else if( function_exists ('has_post_thumbnail') && has_post_thumbnail($post->ID)) { $thumbnail_id = get_post_thumbnail_id( $post->ID ); $size = apply_filters( 'wp_rss_image_size', 'medium', $post->ID ); if(!empty($thumbnail_id)) $img = wp_get_attachment_image_src( $thumbnail_id, $size ); error_log( "SW: IMG: " . print_r( $img, true ) ); } else { $attachments = get_children( array( 'post_parent' => $post->ID, 'post_type' => 'attachment', 'post_mime_type' => 'image', 'orderby' => 'menu_order', 'order' => 'ASC', 'numberposts' => 1) ); if($attachments == true) { foreach($attachments as $id => $attachment) : $img = wp_get_attachment_image_src($id, $size); endforeach; } } if (isset($img)) return $img[0]; } function wp_rss_img_menu() { add_options_page('WP RSS Images', 'WP RSS Images', 'administrator', 'wp-rss-image', 'wp_rss_image_setting'); } function wp_rss_image_setting() { $options = wp_rss_img_get_options(); if(isset($_POST['Submit'])){ $newoptions = array(); $newoptions['media'] = isset ($_POST['media'])? $_POST['media']: 0; $newoptions['enclosure'] = isset ($_POST['enclosure'])? $_POST['enclosure']: 0; $newoptions['rss'] = isset ($_POST['rss'])? $_POST['rss']: 0; $newoptions['rss2'] = isset ($_POST['rss2'])? $_POST['rss2']: 0; $newoptions['size'] = isset ($_POST['size'])? $_POST['size']: $options['size']; $newoptions['version'] = $options['version']; if ( $options != $newoptions ) { $options = $newoptions; update_option('wp_rss_img_op', $options); ?>

/>
/>
/>

/>
/>

/>
/>

" />