05/12/2009, 11:48
|
| | | Fecha de Ingreso: marzo-2008 Ubicación: Malaga
Mensajes: 123
Antigüedad: 16 años, 8 meses Puntos: 0 | |
Error en el plugin Flickr comment Importer: Invalid argument supplied for foreach() Hola,
Tengo instalado el plugin "Flickr comment Importer" y alguna vez que he entrado en el panel de Wordpress me sale arriba el siguiente error: Cita: Warning: Invalid argument supplied for foreach() in /homepages/33/d282044401/htdocs/wp-content/plugins/flickr-comment-importer/flickr-comment-importer.php on line 19 Dejo por aqui el codigo del plugin: Código PHP: <?php
/*
Plugin Name: Flickr comment Importer
Plugin URI: http://inphotos.org/
Description: Add Flickr comments to your blog posts. <a href='options-general.php?page=flickr-comment-importer.php'>Configuration Page</a>
Author: Donncha O Caoimh
Version: 0.1
Author URI: http://inphotos.org/
*/
require_once (ABSPATH . WPINC . '/rss.php');
function flickr_comment_importer() {
global $wpdb;
$url = get_option( 'flickrcommenturl' );
if( !$url )
return;
$rss = @fetch_rss( $url );
foreach( $rss->items as $item ) {
$post_name = str_replace( "comment-about-", "", sanitize_title( $item['title'] ) );
$comment_author = addslashes( wp_specialchars( "Flickr: " . substr( str_replace( "[email protected] (", "", wp_specialchars( $item[ 'author' ] ) ), 0, -1 ) ) );
$comment_author_email = '[email protected]';
$comment_author_url = wp_specialchars( $item[ 'link' ] );
$comment_content = addslashes( strip_tags( $item[ 'description' ] ) );
$comment_content = substr( $comment_content, strpos( $comment_content, 'comment:' ) + 9 );
$comment_type = '';
$user_ID = '';
$comment_date = date("Y-m-d h:i:s", strtotime( $item[ 'pubdate' ] ) );
$comment_date_gmt = date("Y-m-d h:i:s", strtotime( $item[ 'pubdate' ] ) + 28800 );
if( isset( $cached_details[ $post_name ] ) == false ) {
$cached_details[ $post_name ] = $wpdb->get_var( "SELECT ID FROM {$wpdb->posts} WHERE post_name = '$post_name'" );
}
if( $cached_details[ $post_name ] != null && null == $wpdb->get_var( "SELECT comment_ID FROM {$wpdb->comments} WHERE comment_author_url='{$comment_author_url}'" ) ) {
$comment_post_ID = $cached_details[ $post_name ];
$commentdata = compact('comment_post_ID', 'comment_author', 'comment_author_email', 'comment_author_url', 'comment_content', 'comment_type', 'user_ID');
$commentdata['comment_post_ID'] = (int) $commentdata['comment_post_ID'];
$commentdata['user_ID'] = (int) $commentdata['user_ID'];
$commentdata['comment_date'] = $comment_date;
$commentdata['comment_date_gmt'] = $comment_date_gmt;
$commentdata['comment_author_IP'] = '127.0.0.1';
$commentdata['comment_agent'] = "Flickr Add Comment Agent";
$commentdata['comment_approved'] = 0;
$comment_ID = wp_insert_comment($commentdata);
}
}
}
if ( ! function_exists('wp_nonce_field') ) {
function fci_nonce_field($action = -1) {
return;
}
$fci_nonce = -1;
} else {
function fci_nonce_field($action = -1) {
return wp_nonce_field($action);
}
$fci_nonce = 'fci-update-key';
}
function fci_config_page() {
global $wpdb;
if ( function_exists('add_submenu_page') )
add_submenu_page('options-general.php', __('Flickr Comments'), __('Flickr Comments'), 'manage_options', __FILE__, 'fci_conf');
}
function fci_conf() {
global $fci_nonce;
if ( isset($_POST['submit']) ) {
if ( function_exists('current_user_can') && !current_user_can('manage_options') )
die(__('Cheatin’ uh?'));
check_admin_referer($fci_nonce);
$rss = @fetch_rss( $_POST[ 'flickrcommenturl' ] );
if( is_object( $rss ) == false || empty( $rss->items ) ) {
$invalid_url = true;
} else {
update_option( 'flickrcommenturl', $_POST[ 'flickrcommenturl' ] );
}
}
?>
<div class="wrap">
<h2><?php _e('Flickr Comment Importer'); ?></h2>
<p><?php _e( "If you use Flickr to host your photos this plugin will import the comments from your Flickr stream into your blog. Enter the RSS feed on Flickr's <a href='http://www.flickr.com/recent_activity.gne'>recent activity page</a> in the box below." );?></p>
<p><?php _e( "<strong>Usage and Restrictions</strong><br /><ul><li> Your posts must have the same name as the Flickr photo. For example, <a href='http://inphotos.org/the-thieving-duck/'>The Thieving Duck</a> blog post matches <a href='http://www.flickr.com/photos/donncha/222686138/'>The Thieving Duck</a> on Flickr. It's ok to have multiple Flickr photos with the same name as one blog post.</li><li> You can't import all your old comments. It will only work with whatever Flickr puts in it's comment feed which is the last ten comments.</li><li> Your comments are imported when you're doing stuff in your WordPress backend and placed into the moderation queue. Make sure you login to WordPress often if you have a busy Flickr stream!</li></ul>" );?></p>
<form action="" method="post" id="fci-conf" style="margin: auto; ">
<?php fci_nonce_field($fci_nonce) ?>
<h3><label for="key"><?php _e('Flickr Recent Activity RSS Feed'); ?></label></h3>
<p><input id="url" name="flickrcommenturl" type="text" size="85" maxlength="200" value="<?php echo get_option('flickrcommenturl'); ?>" style="font-family: 'Courier New', Courier, mono; font-size: 1.5em;" /></p>
<?php if ( $invalid_url ) { ?>
<p style="padding: .5em; background-color: #f33; color: #fff; font-weight: bold; width: 30em"><?php _e('That URL is not a RSS feed. Double-check it.'); ?></p>
<?php } ?>
<p class="submit"><input type="submit" name="submit" value="<?php _e('Update RSS Feed »'); ?>" /></p>
</form>
<p><?php _e( "Don't forget to visit <a href='http://inphotos.org/'>In Photos</a>!" ); ?>
</div>
<?php
}
add_action('admin_head', 'flickr_comment_importer');
add_action('admin_menu', 'fci_config_page');
?> ¿Alguien sabe por que puede ser?
Un saludo y gracias. |