Beispiel #1
0
                $todayStamp = 2;
            }
        }
    }
    $openWindow = rssmi_lightbox_filter($items["mylink"], $targetWindow);
    //Lightbox filter
    $readable .= '<div class="rss-output">';
    if (!empty($items["mystrdate"]) && $showdate == 1) {
        $readable .= '<span class="date">' . date_i18n($strDate, $items["mystrdate"]) . '</span>';
    }
    $readable .= '<div class="title"><a ' . $openWindow . ' href=' . $items["mylink"] . ' ' . ($noFollow == 1 ? 'rel=nofollow' : '') . ' style="color:' . $anchorcolor . '">' . $items["mytitle"] . '</a>';
    if ($showmore == 1 && $showDesc == 1) {
        $readable .= ' <a href="javascript:void(0)"><img src="' . $images_url . '/arrow_down.png"/  id="#' . $idnum . '" class="nav-toggle"></a></div>';
    } else {
        $readable .= '</div>';
    }
    if (!empty($items["mydesc"]) && $showDesc == 1) {
        if ($showmore == 1 && $showDesc == 1) {
            $readable .= '<div id="' . $idnum . '" style="display:none" class="body">';
        } else {
            $readable .= '<div class="body">';
        }
        $readable .= showexcerpt($items["mydesc"], $descNum, $openWindow, $stripAll, $items["mylink"], $adjustImageSize, $float, $noFollow, $items["myimage"], $items["mycatid"], $stripSome, $useMediaImage);
        $readable .= '</div>';
    }
    if (!empty($items["myGroup"]) && $showgroup == 1) {
        $readable .= '<span class="group">' . $attribution . '' . $items["myGroup"] . '</span>';
    }
    $readable .= '</div>';
}
$readable .= '</div>';
//  BEGIN don't mess with this php code below
foreach ($myarray as $items) {
    if ($pag !== 1) {
        $total = $total + 1;
        if ($maxperPage > 0 && $total >= $maxperPage) {
            break;
        }
    }
    $idnum = $idnum + 1;
    //  END don't mess with this php code
    $openWindow = rssmi_lightbox_filter($items["mylink"], $targetWindow);
    //Lightbox filter
    $readable .= '	<div class="wprssmi_item_inner">';
    $readable .= '<div class="wprssmi_container">';
    $readable .= '<p class="wprssmi_title"><a ' . $openWindow . ' href=' . $items["mylink"] . ' ' . ($noFollow == 1 ? 'rel=nofollow' : '') . ' style="color:' . $anchorcolor . '">' . $items["mytitle"] . '</a></p>';
    $readable .= '<p><div class="wprssmi-excerpt">' . showexcerpt($items["mydesc"], 0, $openWindow, 0, $items["mylink"], $adjustImageSize, $float, $noFollow, $items["myimage"], $items["mycatid"]) . '</span></div></p>';
    if ((strpos($items["mylink"], 'www.youtube.com') > 0 || strpos($items["mylink"], 'player.vimeo') > 0) && $showVideo == 1) {
        if ($vt == 'yt') {
            //		$readable = rssmi_yt_video_content($items["mydesc"])."<br>";
        } else {
            if ($vt == 'vm') {
                //		$readable = rssmi_vimeo_video_content($items["mydesc"])."<br>";
            }
        }
        //			$readable .= '<iframe class="rss_multi_frame" title=".$items["mytitle"]." width="420" height="315" src="'.$items["mylink"].'" frameborder="0" allowfullscreen allowTransparency="true"></iframe>';
    }
    //$readable .=  '<span style="'.$datestyle.'">'. date_i18n("D, M d, Y",$items["mystrdate"]).'</span><br />';
    //$readable .= '<p><a '.$openWindow.' href='.$items["mylink"].' '.($noFollow==1 ? 'rel=nofollow':'').' style="color:'.$anchorcolor.'">'.$items["myGroup"].'</a></p>';
    $readable .= '</div>';
    $readable .= '</div>';
}
foreach ($myarray as $items) {
    if ($pag !== 1) {
        $total = $total + 1;
        if ($maxperPage > 0 && $total >= $maxperPage) {
            break;
        }
    }
    // VIDEO CHECK
    if ($targetWindow == 0) {
        $getVideoArray = rssmi_video($items["mylink"], $targetWindow);
        $openWindow = $getVideoArray[1];
        $items["mylink"] = $getVideoArray[0];
    }
    $openWindow = rssmi_lightbox_filter($items["mylink"], $targetWindow);
    //Lightbox filter
    $idnum = $idnum + 1;
    //  END don't mess with this php code
    $readable .= '<li class="item">';
    $readable .= '<div class="item_inner">';
    //  domain-specific boxes -
    $readable .= ' <div class="blog_container">';
    $readable .= '	<p class="blog_title"><a ' . $openWindow . ' href=' . $items["mylink"] . ' ' . ($noFollow == 1 ? 'rel=nofollow' : '') . ' style="color:' . $anchorcolor . '">' . $items["mytitle"] . '</a></p>';
    $readable .= '	<p>' . showexcerpt($items["mydesc"], 0, $openWindow, 0, $items["mylink"], $adjustImageSize, $float, $noFollow, $items["myimage"]) . '</p>';
    $readable .= '	<p><a ' . $openWindow . ' href=' . $items["mylink"] . ' ' . ($noFollow == 1 ? 'rel=nofollow' : '') . ' style="color:' . $anchorcolor . '"><i>Continue reading post from ' . $items["myGroup"] . '</i></a></p>';
    $readable .= '	</div>';
    $readable .= '	</div>';
    $readable .= '	<p class="date">' . date_i18n($strDate, $items["mystrdate"]) . ' | <a ' . $openWindow . ' href=' . $items["mylink"] . ' ' . ($noFollow == 1 ? 'rel=nofollow' : '') . ' style="color:' . $anchorcolor . '">Visit source ›</a></p>';
    $readable .= ' </li>';
}
//  don't mess with this php code
$readable .= '</ul></div></div>';
function wp_rss_multi_importer_post($feedID = NULL, $catID = NULL)
{
    $postMsg = FALSE;
    require_once ABSPATH . "wp-admin" . '/includes/media.php';
    require_once ABSPATH . "wp-admin" . '/includes/file.php';
    require_once ABSPATH . "wp-admin" . '/includes/image.php';
    if (!function_exists("wprssmi_hourly_feed")) {
        function wprssmi_hourly_feed()
        {
            return 0;
        }
        // no caching of RSS feed
    }
    add_filter('wp_feed_cache_transient_lifetime', 'wprssmi_hourly_feed');
    $options = get_option('rss_import_options', 'option not found');
    $option_items = get_option('rss_import_items', 'option not found');
    $post_options = get_option('rss_post_options', 'option not found');
    $category_tags = get_option('rss_import_categories_images', 'option not found');
    global $fopenIsSet;
    $fopenIsSet = ini_get('allow_url_fopen');
    if ($option_items == false) {
        return "You need to set up the WP RSS Multi Importer Plugin before any results will show here.  Just go into the <a href='/wp-admin/options-general.php?page=wp_rss_multi_importer_admin'>settings panel</a> and put in some RSS feeds";
    }
    if (!empty($option_items)) {
        $cat_array = preg_grep("^feed_cat_^", array_keys($option_items));
        if (count($cat_array) == 0) {
            // for backward compatibility
            $noExistCat = 1;
        } else {
            $noExistCat = 0;
        }
    }
    if (!IS_NULL($feedID)) {
        $feedIDArray = explode(",", $feedID);
    }
    if (!empty($option_items)) {
        //GET PARAMETERS
        $size = count($option_items);
        $sortDir = 0;
        // 1 is ascending
        $maxperPage = $options['maxperPage'];
        global $setFeaturedImage;
        $setFeaturedImage = $post_options['setFeaturedImage'];
        $addSource = $post_options['addSource'];
        $sourceAnchorText = $post_options['sourceAnchorText'];
        $maxposts = $post_options['maxfeed'];
        $post_status = $post_options['post_status'];
        $addAuthor = $post_options['addAuthor'];
        $bloguserid = $post_options['bloguserid'];
        $post_format = $post_options['post_format'];
        $postTags = $post_options['postTags'];
        global $RSSdefaultImage;
        $RSSdefaultImage = $post_options['RSSdefaultImage'];
        // 0- process normally, 1=use default for category, 2=replace when no image available
        $serverTimezone = $post_options['timezone'];
        $autoDelete = $post_options['autoDelete'];
        $sourceWords = $post_options['sourceWords'];
        $readMore = $post_options['readmore'];
        $includeExcerpt = $post_options['includeExcerpt'];
        global $morestyle;
        $morestyle = ' ...read more';
        $sourceWords_Label = $post_options['sourceWords_Label'];
        if (!is_null($readMore) && $readMore != '') {
            $morestyle = $readMore;
        }
        switch ($sourceWords) {
            case 1:
                $sourceLable = 'Source';
                break;
            case 2:
                $sourceLable = 'Via';
                break;
            case 3:
                $sourceLable = 'Read more here';
                break;
            case 4:
                $sourceLable = 'From';
                break;
            case 5:
                $sourceLable = $sourceWords_Label;
                break;
            default:
                $sourceLable = 'Source';
        }
        if (isset($serverTimezone) && $serverTimezone != '') {
            //set time zone
            date_default_timezone_set($serverTimezone);
            $rightNow = date("Y-m-d H:i:s", time());
        } else {
            $rightNow = date("Y-m-d H:i:s", time());
        }
        if ($post_options['categoryid']['wpcatid'][1] !== NULL) {
            $wpcatids = array_filter($post_options['categoryid']['wpcatid'], 'filter_id_callback');
            //array of post blog categories that have been entered
        }
        if (!empty($wpcatids)) {
            $catArray = get_values_for_id_keys($post_options['categoryid']['plugcatid'], array_keys($wpcatids));
            //array of plugin categories that have an association with post blog categories
            $catArray = array_diff($catArray, array(''));
        } else {
            $catArray = array(0);
        }
        if (!IS_NULL($catID)) {
            $catArray = array($catID);
            //  change to category ID if using external CRON
        }
        $targetWindow = $post_options['targetWindow'];
        // 0=LB, 1=same, 2=new
        if (empty($options['sourcename'])) {
            $attribution = '';
        } else {
            $attribution = $options['sourcename'] . ': ';
        }
        global $ftp;
        $ftp = 1;
        //identify pass to excerpt_functions comes from feed to post
        global $anyimage;
        // to identify any image in description
        $anyimage = 1;
        global $maximgwidth;
        $maximgwidth = $post_options['maximgwidth'];
        $descNum = $post_options['descnum'];
        $stripAll = $post_options['stripAll'];
        $stripSome = $post_options['stripSome'];
        $maxperfetch = $post_options['maxperfetch'];
        $showsocial = $post_options['showsocial'];
        $overridedate = $post_options['overridedate'];
        $commentStatus = $post_options['commentstatus'];
        if ($commentStatus == '1') {
            $comment_status = 'closed';
        } else {
            $comment_status = 'open';
        }
        $adjustImageSize = 1;
        $noFollow = 0;
        $floatType = 1;
        if ($floatType == '1') {
            $float = "left";
        } else {
            $float = "none";
        }
        for ($i = 1; $i <= $size; $i = $i + 1) {
            //  condition here that id number is here
            $key = key($option_items);
            if (!strpos($key, '_') > 0) {
                continue;
            }
            //this makes sure only feeds are included here...everything else are options
            $rssName = $option_items[$key];
            $rssID = str_replace('feed_name_', '', $key);
            //get feed ID number
            next($option_items);
            $key = key($option_items);
            $rssURL = $option_items[$key];
            next($option_items);
            $key = key($option_items);
            $rssCatID = $option_items[$key];
            if (!in_array(0, $catArray) && in_array($option_items[$key], $catArray) || in_array(0, $catArray) || $noExistCat == 1 || !empty($feedIDArray)) {
                //makes sure only desired categories are included
                if (!empty($feedIDArray)) {
                    //only pick up specific feed arrary if indicated in querystring
                    if (!in_array($rssID, $feedIDArray)) {
                        if (count($cat_array) > 0) {
                            // for backward compatibility
                            next($option_items);
                            //skip feed category
                        }
                        continue;
                    }
                }
                $myfeeds[] = array("FeedName" => $rssName, "FeedURL" => $rssURL, "FeedCatID" => $rssCatID);
                //with Feed Category ID
            }
            $cat_array = preg_grep("^feed_cat_^", array_keys($option_items));
            // for backward compatibility
            if (count($cat_array) > 0) {
                next($option_items);
                //skip feed category
            }
        }
        if ($maxposts == "") {
            return "One more step...go into the the <a href='/wp-admin/options-general.php?page=wp_rss_multi_importer_admin&tab=setting_options'>Settings Panel and choose Options.</a>";
        }
        // check to confirm they set options
        if (empty($myfeeds)) {
            return "You've either entered a category ID that doesn't exist or have no feeds configured for this category.  Edit the shortcode on this page with a category ID that exists, or <a href=" . $cat_options_url . ">go here and and get an ID</a> that does exist in your admin panel.";
            exit;
        }
        foreach ($myfeeds as $feeditem) {
            $url = (string) $feeditem["FeedURL"];
            while (stristr($url, 'http') != $url) {
                $url = substr($url, 1);
            }
            $feed = fetch_feed($url);
            if (is_wp_error($feed)) {
                if ($size < 4) {
                    return "You have one feed and it's not valid.  This is likely a problem with the source of the RSS feed.  Contact our support forum for help.";
                    exit;
                } else {
                    //echo $feed->get_error_message();
                    continue;
                }
            }
            $maxfeed = $feed->get_item_quantity(0);
            if ($feedAuthor = $feed->get_author()) {
                $feedAuthor = $feed->get_author()->get_name();
            }
            //SORT DEPENDING ON SETTINGS
            if ($sortDir == 1) {
                for ($i = $maxfeed - 1; $i >= $maxfeed - $maxposts; $i--) {
                    $item = $feed->get_item($i);
                    if (empty($item)) {
                        continue;
                    }
                    if (include_post($feeditem["FeedCatID"], $item->get_content(), $item->get_title()) == 0) {
                        continue;
                    }
                    // FILTER
                    if ($enclosure = $item->get_enclosure()) {
                        if (!IS_NULL($item->get_enclosure()->get_thumbnail())) {
                            $mediaImage = $item->get_enclosure()->get_thumbnail();
                        } else {
                            if (!IS_NULL($item->get_enclosure()->get_link())) {
                                $mediaImage = $item->get_enclosure()->get_link();
                            }
                        }
                    }
                    if ($itemAuthor = $item->get_author()) {
                        $itemAuthor = $item->get_author()->get_name();
                    } else {
                        if (!IS_NULL($feedAuthor)) {
                            $itemAuthor = $feedAuthor;
                        }
                    }
                    $myarray[] = array("mystrdate" => strtotime($item->get_date()), "mytitle" => $item->get_title(), "mylink" => $item->get_permalink(), "myGroup" => $feeditem["FeedName"], "mydesc" => $item->get_content(), "myimage" => $mediaImage, "mycatid" => $feeditem["FeedCatID"], "myAuthor" => $itemAuthor, "feedURL" => $feeditem["FeedURL"]);
                    unset($mediaImage);
                    unset($itemAuthor);
                }
            } else {
                for ($i = 0; $i <= $maxposts - 1; $i++) {
                    $item = $feed->get_item($i);
                    if (empty($item)) {
                        continue;
                    }
                    if (include_post($feeditem["FeedCatID"], $item->get_content(), $item->get_title()) == 0) {
                        continue;
                    }
                    // FILTER
                    if ($enclosure = $item->get_enclosure()) {
                        if (!IS_NULL($item->get_enclosure()->get_thumbnail())) {
                            $mediaImage = $item->get_enclosure()->get_thumbnail();
                        } else {
                            if (!IS_NULL($item->get_enclosure()->get_link())) {
                                $mediaImage = $item->get_enclosure()->get_link();
                            }
                        }
                    }
                    if ($itemAuthor = $item->get_author()) {
                        $itemAuthor = $item->get_author()->get_name();
                    } else {
                        if (!IS_NULL($feedAuthor)) {
                            $itemAuthor = $feedAuthor;
                        }
                    }
                    $myarray[] = array("mystrdate" => strtotime($item->get_date()), "mytitle" => $item->get_title(), "mylink" => $item->get_permalink(), "myGroup" => $feeditem["FeedName"], "mydesc" => $item->get_content(), "myimage" => $mediaImage, "mycatid" => $feeditem["FeedCatID"], "myAuthor" => $itemAuthor, "feedURL" => $feeditem["FeedURL"]);
                    unset($mediaImage);
                    unset($itemAuthor);
                }
            }
        }
        //  CHECK $myarray BEFORE DOING ANYTHING ELSE //
        if ($dumpthis == 1) {
            var_dump($myarray);
        }
        if (!isset($myarray) || empty($myarray)) {
            return "There is a problem with the feeds you entered.  Go to our <a href='http://www.allenweiss.com/wp_plugin'>support page</a> and we'll help you diagnose the problem.";
            exit;
        }
        //$myarrary sorted by mystrdate
        foreach ($myarray as $key => $row) {
            $dates[$key] = $row["mystrdate"];
        }
        //SORT, DEPENDING ON SETTINGS
        if ($sortDir == 1) {
            array_multisort($dates, SORT_ASC, $myarray);
        } else {
            array_multisort($dates, SORT_DESC, $myarray);
        }
        if ($targetWindow == 0) {
            $openWindow = 'class="colorbox"';
        } elseif ($targetWindow == 1) {
            $openWindow = 'target=_self';
        } else {
            $openWindow = 'target=_blank ';
        }
        $total = 0;
        global $wpdb;
        // get all links that have been previously processed
        $wpdb->show_errors = true;
        foreach ($myarray as $items) {
            $total = $total + 1;
            if ($total > $maxperfetch) {
                break;
            }
            $thisLink = trim($items["mylink"]);
            //	echo $thisLink.'<br>';
            // VIDEO CHECK
            if ($targetWindow == 0) {
                $getVideoArray = rssmi_video($items["mylink"]);
                $openWindow = $getVideoArray[1];
                $items["mylink"] = $getVideoArray[0];
            }
            $thisLink = strip_qs_var('bing.com', $thisLink, 'tid');
            // clean time based links from Bing
            $thisLink = mysql_real_escape_string($thisLink);
            $wpdb->flush();
            $mypostids = $wpdb->get_results("select post_id from {$wpdb->postmeta} where meta_key = 'rssmi_source_link' and meta_value like '%" . $thisLink . "%'");
            $myposttitle = $wpdb->get_results("select post_title from {$wpdb->posts} where post_title like '%" . mysql_real_escape_string(trim($items["mytitle"])) . "%'");
            if (empty($mypostids) && $mypostids !== false && empty($myposttitle)) {
                $thisContent = '';
                $post = array();
                $post['post_status'] = $post_status;
                if ($overridedate == 1) {
                    $post['post_date'] = $rightNow;
                } else {
                    $post['post_date'] = date('Y-m-d H:i:s', $items['mystrdate']);
                }
                $post['post_title'] = trim($items["mytitle"]);
                $authorPrep = "By ";
                if (!empty($items["myAuthor"]) && $addAuthor == 1) {
                    $thisContent .= '<span style="font-style:italic; font-size:16px;">' . $authorPrep . ' <a ' . $openWindow . ' href=' . $items["mylink"] . ' ' . ($noFollow == 1 ? 'rel=nofollow' : '') . '">' . $items["myAuthor"] . '</a></span>  ';
                }
                $thisExcerpt = showexcerpt($items["mydesc"], $descNum, $openWindow, $stripAll, $items["mylink"], $adjustImageSize, $float, $noFollow, $items["myimage"], $items["mycatid"], $stripSome);
                $thisContent .= $thisExcerpt;
                if ($addSource == 1) {
                    switch ($sourceAnchorText) {
                        case 1:
                            $anchorText = $items["myGroup"];
                            break;
                        case 2:
                            $anchorText = $items["mytitle"];
                            break;
                        case 3:
                            $anchorText = $items["mylink"];
                            break;
                        default:
                            $anchorText = $items["myGroup"];
                    }
                    $thisContent .= ' <p>' . $sourceLable . ': <a href=' . $items["mylink"] . '  ' . $openWindow . '  title="' . $items["mytitle"] . '">' . $anchorText . '</a></p>';
                }
                if ($showsocial == 1) {
                    $thisContent .= '<span style="margin-left:10px;"><a href="http://www.facebook.com/sharer/sharer.php?u=' . $items["mylink"] . '"><img src="' . WP_RSS_MULTI_IMAGES . 'facebook.png"/></a>&nbsp;&nbsp;<a href="http://twitter.com/intent/tweet?text=' . rawurlencode($items["mytitle"]) . '%20' . $items["mylink"] . '"><img src="' . WP_RSS_MULTI_IMAGES . 'twitter.png"/></a></span>';
                }
                $post['post_content'] = $thisContent;
                if ($includeExcerpt == 1) {
                    $post['post_excerpt'] = $thisExcerpt;
                }
                $mycatid = $items["mycatid"];
                $blogcatid = array();
                if (!empty($post_options['categoryid'])) {
                    $catkey = array_search($mycatid, $post_options['categoryid']['plugcatid']);
                    $blogcatid = $post_options['categoryid']['wpcatid'][$catkey];
                } else {
                    $blogcatid = 0;
                }
                if ($post_options['categoryid']['plugcatid'][1] == '0') {
                    //this gets all the wp categories indicated when All is chosen in the first position
                    $allblogcatid = $post_options['categoryid']['wpcatid'][1];
                    if (is_array($blogcatid)) {
                        $blogcatid = array_merge($blogcatid, $allblogcatid);
                        $blogcatid = array_unique($blogcatid);
                    } else {
                        $blogcatid = $allblogcatid;
                    }
                }
                $post['post_category'] = $blogcatid;
                if (is_null($bloguserid) || empty($bloguserid)) {
                    $bloguserid = 1;
                }
                //check that userid isn't empty else give it admin status
                $post['post_author'] = $bloguserid;
                $post['comment_status'] = $comment_status;
                if (!empty($category_tags[$mycatid]['tags'])) {
                    $postTags = $category_tags[$mycatid]['tags'];
                }
                if ($postTags != '') {
                    $post['tags_input'] = $postTags;
                }
                $post_id = wp_insert_post($post);
                set_post_format($post_id, $post_format);
                if (add_post_meta($post_id, 'rssmi_source_link', $thisLink) != false) {
                    if ($setFeaturedImage == 1 || $setFeaturedImage == 2) {
                        global $featuredImage;
                        if (isset($featuredImage)) {
                            $featuredImageTitle = trim($items["mytitle"]);
                            setFeaturedImage($post_id, $featuredImage, $featuredImageTitle);
                            unset($featuredImage);
                        }
                    }
                } else {
                    wp_delete_post($post_id, true);
                    unset($post);
                    continue;
                }
                unset($post);
            }
            $postMsg = TRUE;
        }
    }
    if ($autoDelete == 1) {
        rssmi_delete_posts();
    }
    return $postMsg;
}
 /**
  * Front-end display of widget.
  *
  * @see WP_Widget::widget()
  *
  * @param array $args     Widget arguments.
  * @param array $instance Saved values from database.
  */
 public function widget($args, $instance)
 {
     add_action('wp_footer', 'rssmi_footer_scripts');
     /* Load the excerpt functions file. */
     global $maximgwidth;
     $maximgwidth = 100;
     $rssmi_global_options = get_option('rssmi_global_options');
     $suppress_warnings = isset($rssmi_global_options['suppress_warnings']) ? $rssmi_global_options['suppress_warnings'] : 0;
     $strDate = rssmi_get_default_date_format();
     require_once WP_RSS_MULTI_INC . 'excerpt_functions.php';
     extract($args);
     $siteurl = get_site_url();
     $widget_images_url = $siteurl . '/wp-content/plugins/wp-rss-multi-importer/images';
     $title = apply_filters('widget_title', $instance['title']);
     $count = $instance['numoption'];
     (array) ($catArray = isset($instance['category']) ? $instance['category'] : null);
     if (empty($catArray)) {
         $catArray = array("0");
     }
     if (!isset($instance['category']) || IS_NULL($instance['category'])) {
         $instance['category'] = array("0");
     }
     $catList = implode(', ', $instance['category']);
     $sortDir = $instance['checkbox'];
     $showdate = $instance['showdate'];
     $showicon = $instance['showicon'];
     $linktitle = $instance['linktitle'];
     $showdesc = $instance['showdesc'];
     $maxposts = $instance['maxposts'];
     $targetwindow = $instance['targetwindow'];
     $simplelist = $instance['simplelist'];
     $showimage = $instance['showimage'];
     $showsource = $instance['showsource'];
     $descNum = $instance['descnum'];
     $strDate = rssmi_get_default_date_format();
     global $RSSdefaultImage;
     $RSSdefaultImage = $instance['rssdefaultimage'];
     // 0- process normally, 1=use default for category, 2=replace when no image available
     //$RSSdefaultImage=1;
     global $isMobileDevice;
     if (isset($isMobileDevice) && $isMobileDevice == 1) {
         //open mobile device windows in new tab
         $targetwindow = 2;
     }
     if (!empty($linktitle)) {
         $title = '<a href="' . $linktitle . '">' . $title . '</a>';
     }
     if ($showicon == 1) {
         $title = '<img src="' . $widget_images_url . '/rss.png" width="14" height="14" style="border:0;margin-right:5px;">' . $title;
     }
     $addmotion = $instance['addmotion'];
     $background = $instance['background'];
     if ($addmotion == 1) {
         add_action('wp_footer', 'widget_footer_scripts');
     }
     if (!function_exists("wprssmi_hourly_feed")) {
         function wprssmi_hourly_feed()
         {
             return 3600;
         }
     }
     add_filter('wp_feed_cache_transient_lifetime', 'wprssmi_hourly_feed');
     if ($targetwindow == 0) {
         add_action('wp_footer', 'colorbox_scripts');
         // load colorbox only if not indicated as conflict
     }
     if (empty($sortDir)) {
         $sortDir = 0;
     }
     echo $before_widget;
     if (!empty($title)) {
         echo $before_title . $title . $after_title;
     }
     $readable = '';
     $options = get_option('rss_import_items', 'option not found');
     if (!empty($options)) {
         //	$targetwindow=(isset($options['targetWindow']) ? $options['targetWindow'] : null);
     } else {
         //	$targetwindow=2;
     }
     global $wpdb;
     $myarray = array();
     if ($catList == 0) {
         $feedQuery = "SELECT * FROM {$wpdb->posts} as a inner join {$wpdb->postmeta} as b ON a.id=b.post_id where post_type='rssmi_feed' AND post_status='publish' AND meta_key='rssmi_url'";
     } else {
         $feedQuery = "SELECT * FROM {$wpdb->posts} as a inner join {$wpdb->postmeta} as b ON a.id=b.post_id where post_type='rssmi_feed' AND post_status='publish' AND meta_key='rssmi_cat' AND meta_value in ({$catList}) ";
     }
     $feed_array = $wpdb->get_results($feedQuery);
     if (empty($feed_array)) {
         //	return _e("There is a problem - it appears you are using categories and no feeds have been put into those categories.", 'wp-rss-multi-importer');
         return;
     }
     foreach ($feed_array as $feed) {
         $feedlimit = 0;
         $rssmi_cat = get_post_meta($feed->ID, 'rssmi_cat', true);
         $rssmi_source = get_the_title($feed->ID);
         $catSourceArray = array("myGroup" => $rssmi_source, "mycatid" => $rssmi_cat);
         $rssmi_sql = "SELECT a.post_id,b.meta_key,b.meta_value FROM {$wpdb->postmeta} as a inner join {$wpdb->postmeta} as b on a.post_id=b.post_id WHERE a.meta_value ={$feed->ID} and b.meta_key='rssmi_item_date' order by b.meta_value ";
         if ($sortDir == 0) {
             $rssmi_sql .= "desc";
         } elseif ($sortDir == 1) {
             $rssmi_sql .= "asc";
         }
         $desc_array = $wpdb->get_results($rssmi_sql);
         foreach ($desc_array as $arrayItem) {
             $feedlimit = $feedlimit + 1;
             if ($feedlimit > $maxposts) {
                 continue;
             }
             $post_ID = $arrayItem->post_id;
             $desc = get_post_meta($post_ID, 'rssmi_item_description', true);
             $arrayItem = array_merge((array) $desc[0], $catSourceArray);
             //  add the source and category ID
             if (include_post($rssmi_cat, $arrayItem['mydesc'], $arrayItem['mytitle']) == 0) {
                 continue;
             }
             // FILTER
             array_push($myarray, $arrayItem);
             //combine into final array
         }
     }
     if (!isset($myarray) || empty($myarray)) {
         if ($suppress_warnings == 0 && current_user_can('edit_post')) {
             return _e("There is a problem with the feeds you entered.  Go to our <a href='http://www.wprssimporter.com/faqs/im-told-the-feed-isnt-valid-or-working/'>support page</a> to see how to solve this.", 'wp-rss-multi-importer');
         }
         return;
     }
     global $isMobileDevice;
     if (isset($isMobileDevice) && $isMobileDevice == 1) {
         //open mobile device windows in new tab
         $targetwindow = 2;
     }
     //$myarrary sorted by mystrdate
     foreach ($myarray as $key => $row) {
         $dates[$key] = $row["mystrdate"];
     }
     //SORT, DEPENDING ON SETTINGS
     if ($sortDir == 1) {
         array_multisort($dates, SORT_ASC, $myarray);
     } else {
         array_multisort($dates, SORT_DESC, $myarray);
     }
     // HOW THE LINK OPENS
     global $isMobileDevice;
     if (isset($isMobileDevice) && $isMobileDevice == 1) {
         //open mobile device windows in new tab
         $targetwindow = 2;
     }
     if ($targetwindow == 0) {
         $openWindow = 'class="colorbox"';
     } elseif ($targetwindow == 1) {
         $openWindow = 'target=_self';
     } else {
         $openWindow = 'target=_blank';
     }
     $total = -1;
     if ($simplelist == 1) {
         echo '<ul class="wprssmi_widget_list">';
         foreach ($myarray as $items) {
             // VIDEO CHECK
             if ($targetwindow == 0) {
                 $getVideoArray = rssmi_video($items["mylink"]);
                 $openWindow = $getVideoArray[1];
                 $items["mylink"] = $getVideoArray[0];
             }
             $openWindow = rssmi_lightbox_filter($items["mylink"], $targetwindow);
             //Lightbox filter
             $total = $total + 1;
             if ($count > 0 && $total >= $count) {
                 break;
             }
             echo '<li class="title"><a ' . $openWindow . ' href="' . $items["mylink"] . '" ' . ($noFollow == 1 ? 'rel=nofollow' : '') . '>' . $items["mytitle"] . '</a>';
             if (!empty($items["mystrdate"]) && $showdate == 1) {
                 echo '<span class="date">' . date_i18n($strDate, $items["mystrdate"]) . '</span>';
             }
             echo '</li>';
         }
         //  don't mess with this php code
         echo '</ul>';
     } else {
         echo ' <div class="news-wrapper" id="newsticker" style="10px;background-color:' . $background . ';">';
         echo '	<div class="news-contents">';
         foreach ($myarray as $items) {
             // VIDEO CHECK
             if ($targetWindow == 0) {
                 $getVideoArray = rssmi_video($items["mylink"], $targetwindow);
                 $openWindow = $getVideoArray[1];
                 $items["mylink"] = $getVideoArray[0];
             }
             $openWindow = rssmi_lightbox_filter($items["mylink"], $targetwindow);
             //Lightbox filter
             $total = $total + 1;
             if ($count > 0 && $total >= $count) {
                 break;
             }
             echo '<div style="top: 101px;margin-left:5px;" class="news">';
             if ($showimage == 1 && $addmotion != 1) {
                 echo showexcerpt($items["mydesc"], 0, $openWindow, 0, $items["mylink"], 1, "left", 0, $items["myimage"], $items["mycatid"]);
             }
             echo '<div class="rssmi_title_class"><a ' . $openWindow . ' href="' . $items["mylink"] . '" class="news_title">' . $items["mytitle"] . '</a></div>';
             if ($showdesc == 1 && $addmotion != 1) {
                 $desc = esc_attr(strip_tags(@html_entity_decode($items["mydesc"], ENT_QUOTES, get_option('blog_charset'))));
                 $desc = str_replace('[...]', '', $desc);
                 $words = explode(" ", trim($desc));
                 $desc = implode(" ", array_splice($words, 0, $descNum));
                 $desc .= ' <a ' . $openWindow . ' href="' . $items["mylink"] . '">[&hellip;]</a>';
                 echo $desc . '<br/>';
             }
             if (!empty($items["mystrdate"]) && $showdate == 1) {
                 echo date_i18n($strDate, $items["mystrdate"]) . '<br />';
             }
             if (!empty($items["myGroup"]) && $showsource == 1) {
                 echo '<span class="rssmi_group_style" style="font-style:italic;">' . $items["myGroup"] . '</span>';
             }
             //	 echo '</p>';
             echo '</div>';
         }
         echo '</div></div>';
     }
     echo $after_widget;
 }
Beispiel #6
0
    $readable .= '<li class="title"><a href="#msq' . $total . '">' . $items["mytitle"] . '</a> </li>';
}
//  don't mess with this php code
$readable .= "</ul>";
reset($myarray);
$total = -1;
foreach ($myarray as $items) {
    if ($pag !== 1) {
        $total = $total + 1;
        if ($maxperPage > 0 && $total >= $maxperPage) {
            break;
        }
    }
    $idnum = $idnum + 1;
    //  END don't mess with this php code
    $openWindow = rssmi_lightbox_filter($items["mylink"], $targetWindow);
    //Lightbox filter
    $readable .= '<a name="msq' . $total . '"></a><div class="wprssmi-cs-items">';
    $readable .= '<div class="title"><span style="font-size:' . $hdsize . '; font-weight:' . $hdweight . ';"><a ' . $openWindow . ' href="' . $items["mylink"] . '" ' . ($noFollow == 1 ? 'rel=nofollow' : '') . ' style="color:' . $anchorcolor . '">' . $items["mytitle"] . '</a></span></div>';
    if (!empty($items["mydesc"]) && $showDesc == 1) {
        if ($showmore == 1 && $showDesc == 1) {
            $readable .= '<div id="' . $idnum . '" style="display:none">';
        } else {
            $readable .= '<div class="body">';
        }
        $readable .= showexcerpt($items["mydesc"], $descNum, $openWindow, 1, $items["mylink"], $adjustImageSize, $float, $noFollow, $items["myimage"], $items["mycatid"]);
        $readable .= '</div></div>';
    }
    //$readable .= '<div class="wprssmi-cs-source">'.date_i18n($strDate,$items["mystrdate"]).', Continue reading <a '.$openWindow.' href='.$items["mylink"].' '.($noFollow==1 ? 'rel=nofollow':'').'">at the source</a></div></div>';
}
//  don't mess with this php code
Beispiel #7
0
function wp_rss_multi_importer_post($feedID = NULL, $catID = NULL)
{
    $postMsg = FALSE;
    require_once ABSPATH . "wp-admin" . '/includes/media.php';
    require_once ABSPATH . "wp-admin" . '/includes/file.php';
    require_once ABSPATH . "wp-admin" . '/includes/image.php';
    if (!function_exists("wprssmi_hourly_feed")) {
        function wprssmi_hourly_feed()
        {
            return 0;
        }
        // no caching of RSS feed
    }
    add_filter('wp_feed_cache_transient_lifetime', 'wprssmi_hourly_feed');
    $options = get_option('rss_import_options', 'option not found');
    $option_items = get_option('rss_import_items', 'option not found');
    $post_options = get_option('rss_post_options', 'option not found');
    $category_tags = get_option('rss_import_categories_images', 'option not found');
    $rssmi_global_options = get_option('rssmi_global_options');
    global $fopenIsSet;
    $fopenIsSet = ini_get('allow_url_fopen');
    if ($post_options['active'] != 1) {
        return;
        exit;
    }
    if (!IS_NULL($feedID)) {
        $feedIDArray = explode(",", $feedID);
    }
    if (!empty($post_options)) {
        //GET PARAMETERS
        $size = count($option_items);
        $sortDir = 0;
        // 1 is ascending
        $maxperPage = $options['maxperPage'];
        global $setFeaturedImage;
        $setFeaturedImage = $post_options['setFeaturedImage'];
        $addSource = isset($post_options['addSource']) ? $post_options['addSource'] : null;
        $sourceAnchorText = $post_options['sourceAnchorText'];
        $maxposts = $post_options['maxfeed'];
        $post_status = $post_options['post_status'];
        $addAuthor = isset($post_options['addAuthor']) ? $post_options['addAuthor'] : null;
        $post_format = $post_options['post_format'];
        $postTags = isset($post_options['postTags']) ? $post_options['postTags'] : null;
        global $RSSdefaultImage;
        $RSSdefaultImage = $post_options['RSSdefaultImage'];
        // 0- process normally, 1=use default for category, 2=replace when no image available
        $serverTimezone = $post_options['timezone'];
        $autoDelete = isset($post_options['autoDelete']) ? $post_options['autoDelete'] : null;
        $sourceWords = $post_options['sourceWords'];
        $readMore = $post_options['readmore'];
        $showVideo = isset($post_options['showVideo']) ? $post_options['showVideo'] : null;
        $custom_type_name = $post_options['custom_type_name'];
        $includeExcerpt = isset($post_options['includeExcerpt']) ? $post_options['includeExcerpt'] : null;
        global $morestyle;
        $morestyle = ' ...read more';
        $sourceWords_Label = $post_options['sourceWords_Label'];
        if (!is_null($readMore) && strlen($readMore) > 0) {
            $morestyle = $readMore;
        }
        switch ($sourceWords) {
            case 1:
                $sourceLable = 'Source:';
                break;
            case 2:
                $sourceLable = 'Via:';
                break;
            case 3:
                $sourceLable = 'Read more here:';
                break;
            case 4:
                $sourceLable = 'From:';
                break;
            case 5:
                $sourceLable = $sourceWords_Label;
                break;
            default:
                $sourceLable = 'Source';
        }
        if (isset($serverTimezone) && $serverTimezone != '') {
            //set time zone
            date_default_timezone_set($serverTimezone);
            $rightNow = get_date_from_gmt(date("Y-m-d H:i:s", time()));
        } else {
            $rightNow = get_date_from_gmt(date("Y-m-d H:i:s", time()));
        }
        if ($post_options['categoryid']['wpcatid'][1] !== NULL) {
            $wpcatids = array_filter($post_options['categoryid']['wpcatid'], 'filter_id_callback');
            //array of post blog categories that have been entered
        }
        if (!empty($wpcatids)) {
            $catArray = get_values_for_id_keys($post_options['categoryid']['plugcatid'], array_keys($wpcatids));
            //array of plugin categories that have an association with post blog categories
            $catArray = array_diff($catArray, array(''));
        } else {
            $catArray = array(0);
        }
        if (!IS_NULL($catID)) {
            $catArray = array($catID);
            //  change to category ID if using external CRON
        }
        $targetWindow = $post_options['targetWindow'];
        // 0=LB, 1=same, 2=new
        if (empty($options['sourcename'])) {
            $attribution = '';
        } else {
            $attribution = $options['sourcename'] . ': ';
        }
        global $ftp;
        $ftp = 1;
        //identify pass to excerpt_functions comes from feed to post
        global $maximgwidth;
        $maximgwidth = $post_options['maximgwidth'];
        $descNum = $post_options['descnum'];
        $stripAll = $post_options['stripAll'];
        $stripSome = isset($post_options['stripSome']) ? $post_options['stripSome'] : null;
        $maxperfetch = $post_options['maxperfetch'];
        $showsocial = isset($post_options['showsocial']) ? $post_options['showsocial'] : null;
        $overridedate = isset($post_options['overridedate']) ? $post_options['overridedate'] : null;
        $commentStatus = isset($post_options['commentstatus']) ? $post_options['commentstatus'] : null;
        $noFollow = isset($post_options['noFollow']) ? $post_options['noFollow'] : 0;
        if ($commentStatus == '1') {
            $comment_status = 'closed';
        } else {
            $comment_status = 'open';
        }
        $adjustImageSize = 1;
        $floatType = 1;
        if ($floatType == '1') {
            $float = "left";
        } else {
            $float = "none";
        }
        global $wpdb;
        $myarray = array();
        //$feedQuery="SELECT ID FROM $wpdb->posts WHERE  post_type ='rssmi_feed' AND post_status='publish'";
        //first get $catArray and change to comma delimited
        $catString = implode(",", $catArray);
        /*
        if ($catString==0 || !EMPTY($feedIDArray)){
        	$feedQuery="SELECT * FROM wp_posts inner join wp_postmeta ON wp_posts.id=wp_postmeta.post_id where `post_type`='rssmi_feed' AND `post_status`='publish' AND `meta_key`='rssmi_url'"; 
        }else{
        	$feedQuery="SELECT * FROM wp_posts inner join wp_postmeta ON wp_posts.id=wp_postmeta.post_id where `post_type`='rssmi_feed' AND `post_status`='publish' AND `meta_key`='rssmi_cat' AND `meta_value` in ($catString) ";
        	}
        */
        if ($catString == 0 || !empty($feedIDArray)) {
            $feedQuery = "SELECT * FROM {$wpdb->posts} as a inner join {$wpdb->postmeta} as b ON a.id=b.post_id where post_type='rssmi_feed' AND post_status='publish' AND meta_key='rssmi_url'";
        } else {
            $feedQuery = "SELECT * FROM {$wpdb->posts} as a inner join {$wpdb->postmeta} as b ON a.id=b.post_id where post_type='rssmi_feed' AND post_status='publish' AND meta_key='rssmi_cat' AND meta_value in ({$catString}) ";
        }
        $feed_array = $wpdb->get_results($feedQuery);
        //  ***  GET THE FEED URLS  ***
        foreach ($feed_array as $feed) {
            $feedlimit = 0;
            $rssmi_cat = get_post_meta($feed->ID, 'rssmi_cat', true);
            $rssmi_url = get_post_meta($feed->ID, 'rssmi_url', true);
            $rssmi_user = get_post_meta($feed->ID, 'rssmi_user', true);
            $rssmi_title = get_the_title($feed->ID);
            $rssmi_feedID = $feed->ID;
            $catSourceArray = array("myGroup" => $rssmi_title, "mycatid" => $rssmi_cat, "bloguserid" => $rssmi_user);
            $rssmi_sql = "SELECT a.post_id,b.meta_key,b.meta_value FROM {$wpdb->postmeta} as a inner join {$wpdb->postmeta} as b on a.post_id=b.post_id WHERE a.meta_value ={$feed->ID} and b.meta_key='rssmi_item_date' order by b.meta_value desc";
            $desc_array = $wpdb->get_results($rssmi_sql);
            foreach ($desc_array as $arrayItem) {
                $feedlimit = $feedlimit + 1;
                if ($feedlimit > $maxposts) {
                    continue;
                }
                $post_ID = $arrayItem->post_id;
                $desc = get_post_meta($post_ID, 'rssmi_item_description', true);
                $arrayItem = array_merge((array) $desc[0], $catSourceArray);
                //  add the source and category ID
                if (include_post($rssmi_cat, $arrayItem['mydesc'], $arrayItem['mytitle']) == 0) {
                    continue;
                }
                // FILTER
                array_push($myarray, $arrayItem);
                //combine into final array
            }
        }
        $dumpthis = isset($dumpthis) ? $dumpthis : null;
        if (!isset($myfeeds) || empty($myfeeds)) {
            //	return 3;
            //	exit;
        }
        if (is_integer($myarray)) {
            return $myarray;
        }
        // RETURNS ERROR CODE IF PRESENT
        //  CHECK $myarray BEFORE DOING ANYTHING ELSE //
        if (isset($dumpthis) && $dumpthis == 1) {
            var_dump($myarray);
        }
        if (!isset($myarray) || empty($myarray)) {
            return 3;
            exit;
        }
        //$myarrary sorted by mystrdate
        foreach ($myarray as $key => $row) {
            $dates[$key] = $row["mystrdate"];
        }
        //SORT, DEPENDING ON SETTINGS
        if ($sortDir == 1) {
            array_multisort($dates, SORT_ASC, $myarray);
        } else {
            array_multisort($dates, SORT_DESC, $myarray);
        }
        if ($targetWindow == 0) {
            $openWindow = 'class="colorbox"';
        } elseif ($targetWindow == 1) {
            $openWindow = 'target=_self';
        } else {
            $openWindow = 'target=_blank ';
        }
        $total = 0;
        $added = 0;
        global $wpdb;
        // get all links that have been previously processed
        $wpdb->show_errors = true;
        /*
        $rssmi_existing_permalinks = $wpdb->get_col(
                                        "SELECT meta_value
                                        FROM $wpdb->postmeta
                                        WHERE meta_key = 'rssmi_source_link' ORDER BY meta_id DESC limit 0,5000");
        
        $rssmi_existing_titles=	$wpdb->get_col(
        							        "SELECT post_title
        							         FROM $wpdb->posts WHERE post_type = 'post' ORDER BY post_date DESC limit 0,5000");
        */
        foreach ($myarray as $items) {
            $total = $total + 1;
            if ($total > $maxperfetch) {
                break;
            }
            $thisLink = trim($items["mylink"]);
            $useMediaImage = $items["useMediaImage"];
            //	echo $thisLink.'<br>';
            // VIDEO CHECK
            if ($targetWindow == 0) {
                $getVideoArray = rssmi_video($items["mylink"], $targetWindow);
                $openWindow = $getVideoArray[1];
                $items["mylink"] = $getVideoArray[0];
                $vt = $getVideoArray[2];
            }
            $openWindow = rssmi_lightbox_filter($items["mylink"], $targetWindow);
            //Lightbox filter
            $thisLink = strip_qs_var_match('news.google.com', $thisLink, 'url');
            // clean all parameters except the url from links from Google News
            $thisLink = strip_qs_var('bing.com', $thisLink, 'tid');
            // clean time based links from Bing
            $thisLink = esc_url($thisLink);
            $wpdb->flush();
            $mypostids = $wpdb->get_results("select post_id from {$wpdb->postmeta} where meta_key = 'rssmi_source_link' and meta_value like '%" . $thisLink . "%'");
            //	if (!empty($items["mytitle"])){
            //	$myposttitle=$wpdb->get_results("select post_title from $wpdb->posts where post_title like '%".mysql_real_escape_string(trim($items["mytitle"]))."%'");
            //	}
            if (empty($mypostids) && $mypostids !== false) {
                $added = $added + 1;
                $thisContent = '';
                $post = array();
                $post['post_status'] = $post_status;
                if ($overridedate == 1 || IS_NULL($items['mystrdate'])) {
                    $post['post_date'] = $rightNow;
                } else {
                    $post['post_date'] = date('Y-m-d H:i:s', $items['mystrdate']);
                    //$post['post_date'] = get_date_from_gmt(date('Y-m-d H:i:s',$items['mystrdate']));
                }
                $thisTitle = html_entity_decode(trim($items["mytitle"]));
                if ($rssmi_global_options['fb_title_check'] == 1) {
                    $thisTitle = rssmi_fb_title_filter($thisLink, $thisTitle);
                }
                $post['post_title'] = $thisTitle;
                //Beginning of Content
                //Add Author
                $authorPrep = "By ";
                if (!empty($items["myAuthor"]) && $addAuthor == 1) {
                    $thisContent .= '<span style="font-style:italic; font-size:16px;">' . $authorPrep . ' <a ' . $openWindow . ' href=' . $items["mylink"] . ' ' . ($noFollow == 1 ? 'rel=nofollow' : '') . '">' . $items["myAuthor"] . '</a></span>  ';
                }
                //Add main content
                $thisExcerpt = showexcerpt($items["mydesc"], $descNum, $openWindow, $stripAll, $items["mylink"], $adjustImageSize, $float, $noFollow, $items["myimage"], $items["mycatid"], $stripSome, $feedHomePage, $noProcess, $useMediaImage);
                //  Add video if exists
                if ((strpos($items["mylink"], 'www.youtube.com') > 0 || strpos($items["mylink"], 'player.vimeo') > 0) && $showVideo == 1) {
                    if ($vt == 'yt') {
                        $thisExcerpt = rssmi_yt_video_content($items["mydesc"]) . "<br>";
                    } else {
                        if ($vt == 'vm') {
                            $thisExcerpt = rssmi_vimeo_video_content($items["mydesc"]) . "<br>";
                        }
                    }
                    //	$thisContent.="\r\n".$orig_video_link."\r\n";
                    $thisExcerpt .= '<iframe title=".$items["mytitle"]." width="420" height="315" src="' . $items["mylink"] . '" frameborder="0" allowfullscreen allowTransparency="true"></iframe>';
                }
                $thisContent .= $thisExcerpt;
                //Add Source
                if ($addSource == 1) {
                    switch ($sourceAnchorText) {
                        case 1:
                            $anchorText = $items["myGroup"];
                            break;
                        case 2:
                            $anchorText = $items["mytitle"];
                            break;
                        case 3:
                            $anchorText = $items["mylink"];
                            break;
                        default:
                            $anchorText = $items["myGroup"];
                    }
                    $thisContent .= ' <p>' . $sourceLable . ': <a href=' . $items["mylink"] . '  ' . $openWindow . '  title="' . $items["mytitle"] . '" ' . ($noFollow == 1 ? 'rel=nofollow' : '') . '>' . $anchorText . '</a></p>';
                }
                //Social
                if ($showsocial == 1) {
                    $thisContent .= '<span style="margin-left:10px;"><a href="http://www.facebook.com/sharer/sharer.php?u=' . $items["mylink"] . '"><img src="' . WP_RSS_MULTI_IMAGES . 'facebook.png"/></a>&nbsp;&nbsp;<a href="http://twitter.com/intent/tweet?text=' . rawurlencode($items["mytitle"]) . '%20' . $items["mylink"] . '"><img src="' . WP_RSS_MULTI_IMAGES . 'twitter.png"/></a>&nbsp;&nbsp;<a href="http://plus.google.com/share?url=' . rawurlencode($items["mylink"]) . '"><img src="' . WP_RSS_MULTI_IMAGES . 'gplus.png"/></a>&nbsp;&nbsp;<a href="http://www.linkedin.com/shareArticle?mini=true&url=' . rawurlencode($items["mylink"]) . '"><img src="' . WP_RSS_MULTI_IMAGES . 'linkedin.png"/></a></span>';
                }
                //End of Content
                $post['post_content'] = $thisContent;
                if ($includeExcerpt == 1) {
                    $post['post_excerpt'] = $thisExcerpt;
                }
                $mycatid = $items["mycatid"];
                $blogcatid = array();
                if (!empty($post_options['categoryid']['plugcatid'])) {
                    $catkey = array_search($mycatid, $post_options['categoryid']['plugcatid']);
                    $blogcatid = isset($post_options['categoryid']['wpcatid'][$catkey]) ? $post_options['categoryid']['wpcatid'][$catkey] : 0;
                    //$blogcatid=$post_options['categoryid']['wpcatid'][$catkey];
                } else {
                    $blogcatid = 0;
                }
                if ($post_options['categoryid']['plugcatid'][1] == '0') {
                    //this gets all the wp categories indicated when All is chosen in the first position
                    $allblogcatid = $post_options['categoryid']['wpcatid'][1];
                    if (is_array($blogcatid)) {
                        $blogcatid = array_merge($blogcatid, $allblogcatid);
                        $blogcatid = array_unique($blogcatid);
                    } else {
                        $blogcatid = $allblogcatid;
                    }
                }
                $post['post_category'] = $blogcatid;
                if (is_null($items["bloguserid"])) {
                    if (is_null($bloguserid) || empty($bloguserid)) {
                        $bloguserid = 1;
                    }
                    //check that userid isn't empty else give it admin status
                } else {
                    $bloguserid = $items["bloguserid"];
                }
                $post['post_author'] = $bloguserid;
                $post['comment_status'] = $comment_status;
                if (!empty($category_tags[$mycatid]['tags'])) {
                    $postTags = $category_tags[$mycatid]['tags'];
                } else {
                    $postTags = '';
                }
                if ($postTags != '') {
                    $post['tags_input'] = $postTags;
                }
                if ($custom_type_name != '') {
                    $post['post_type'] = $custom_type_name;
                }
                $post_id = wp_insert_post($post);
                set_post_format($post_id, $post_format);
                if (add_post_meta($post_id, 'rssmi_source_link', $thisLink) != false) {
                    add_post_meta($post_id, 'rssmi_source_feed', $items["feedID"]);
                    add_post_meta($post_id, 'rssmi_source_date', $items['mystrdate']);
                    if ($setFeaturedImage == 1 || $setFeaturedImage == 2) {
                        global $featuredImage;
                        if (isset($featuredImage)) {
                            $featuredImage = rssmi_facebook_autopost($featuredImage);
                            $featuredImageTitle = trim($items["mytitle"]);
                            setFeaturedImage($post_id, $featuredImage, $featuredImageTitle);
                            unset($featuredImage);
                        }
                    }
                } else {
                    wp_delete_post($post_id, true);
                    unset($post);
                    continue;
                }
                unset($post);
            }
        }
        if ($added == 0) {
            return 4;
        }
        $postMsg = TRUE;
    }
    if ($autoDelete == 1) {
        rssmi_delete_posts();
    }
    return $postMsg;
}
 /**
  * Front-end display of widget.
  *
  * @see WP_Widget::widget()
  *
  * @param array $args     Widget arguments.
  * @param array $instance Saved values from database.
  */
 public function widget($args, $instance)
 {
     add_action('wp_footer', 'footer_scripts');
     /* Load the excerpt functions file. */
     global $maximgwidth;
     $maximgwidth = 100;
     global $anyimage;
     // to identify any image in description
     $anyimage = 1;
     require_once WP_RSS_MULTI_INC . 'excerpt_functions.php';
     extract($args);
     $siteurl = get_site_url();
     $widget_images_url = $siteurl . '/wp-content/plugins/wp-rss-multi-importer/images';
     $title = apply_filters('widget_title', $instance['title']);
     $count = $instance['numoption'];
     (array) ($catArray = $instance['category']);
     if (empty($catArray)) {
         $catArray = array("0");
     }
     $sortDir = $instance['checkbox'];
     $showdate = $instance['showdate'];
     $showicon = $instance['showicon'];
     $linktitle = $instance['linktitle'];
     $showdesc = $instance['showdesc'];
     $maxposts = $instance['maxposts'];
     $targetwindow = $instance['targetwindow'];
     $simplelist = $instance['simplelist'];
     $showimage = $instance['showimage'];
     $showsource = $instance['showsource'];
     $descNum = $instance['descnum'];
     global $anyimage;
     $anyimage = 1;
     global $RSSdefaultImage;
     $RSSdefaultImage = $instance['rssdefaultimage'];
     // 0- process normally, 1=use default for category, 2=replace when no image available
     //$RSSdefaultImage=1;
     global $isMobileDevice;
     if (isset($isMobileDevice) && $isMobileDevice == 1) {
         //open mobile device windows in new tab
         $targetwindow = 2;
     }
     if (!empty($linktitle)) {
         $title = '<a href="' . $linktitle . '">' . $title . '</a>';
     }
     if ($showicon == 1) {
         $title = '<img src="' . $widget_images_url . '/rss.png" width="14" height="14" style="border:0;margin-right:5px;">' . $title;
     }
     $addmotion = $instance['addmotion'];
     $background = $instance['background'];
     if ($addmotion == 1) {
         add_action('wp_footer', 'widget_footer_scripts');
     }
     if (!function_exists("wprssmi_hourly_feed")) {
         function wprssmi_hourly_feed()
         {
             return 3600;
         }
     }
     add_filter('wp_feed_cache_transient_lifetime', 'wprssmi_hourly_feed');
     if ($cb !== '1' && $targetwindow == 0) {
         add_action('wp_footer', 'colorbox_scripts');
         // load colorbox only if not indicated as conflict
     }
     if (empty($sortDir)) {
         $sortDir = 0;
     }
     echo $before_widget;
     if (!empty($title)) {
         echo $before_title . $title . $after_title;
     }
     $readable = '';
     $options = get_option('rss_import_items', 'option not found');
     $cat_array = preg_grep("^feed_cat_^", array_keys($options));
     if (count($cat_array) == 0) {
         //for backward compatibility
         $noExistCat = 1;
     } else {
         $noExistCat = 0;
     }
     $size = count($options);
     $targetWindow = $options['targetWindow'];
     //	$sortDir=$options['sortbydate'];
     //$sortDir=0;
     for ($i = 1; $i <= $size; $i = $i + 1) {
         $key = key($options);
         if (!strpos($key, '_') > 0) {
             continue;
         }
         //this makes sure only feeds are included here...everything else are options
         $rssName = $options[$key];
         next($options);
         $key = key($options);
         $rssURL = $options[$key];
         next($options);
         $key = key($options);
         $rssCatID = $options[$key];
         if (!in_array(0, $catArray) && in_array($options[$key], $catArray) || in_array(0, $catArray) || $noExistCat == 1) {
             $myfeeds[] = array("FeedName" => $rssName, "FeedURL" => $rssURL, "FeedCatID" => $rssCatID);
         }
         $cat_array = preg_grep("^feed_cat_^", array_keys($options));
         // for backward compatibility
         if (count($cat_array) > 0) {
             next($options);
             //skip feed category
         }
     }
     if (empty($myfeeds)) {
         return "You've either entered a category ID that doesn't exist or have no feeds configured for this category.  Edit the shortcode on this page with a category ID that exists, or <a href=" . $cat_options_url . ">go here and and get an ID</a> that does exist in your admin panel.";
         exit;
     }
     foreach ($myfeeds as $feeditem) {
         $url = (string) $feeditem["FeedURL"];
         while (stristr($url, 'http') != $url) {
             $url = substr($url, 1);
         }
         $feed = fetch_feed($url);
         if (is_wp_error($feed)) {
             continue;
         }
         $maxfeed = $feed->get_item_quantity(0);
         //SORT DEPENDING ON SETTINGS
         if ($sortDir == 1) {
             for ($i = $maxfeed; $i >= $maxfeed - $maxposts; $i--) {
                 $item = $feed->get_item($i);
                 if (empty($item)) {
                     continue;
                 }
                 if (include_post($feeditem["FeedCatID"], $item->get_content(), $item->get_title()) == 0) {
                     continue;
                 }
                 // FILTER
                 if ($enclosure = $item->get_enclosure()) {
                     if (!IS_NULL($item->get_enclosure()->get_thumbnail())) {
                         $mediaImage = $item->get_enclosure()->get_thumbnail();
                     } else {
                         if (!IS_NULL($item->get_enclosure()->get_link())) {
                             $mediaImage = $item->get_enclosure()->get_link();
                         }
                     }
                 }
                 $myarray[] = array("mystrdate" => strtotime($item->get_date()), "mytitle" => $item->get_title(), "mylink" => $item->get_link(), "myGroup" => $feeditem["FeedName"], "mydesc" => $item->get_content(), "myimage" => $mediaImage, "mycatid" => $feeditem["FeedCatID"]);
                 unset($mediaImage);
             }
         } else {
             for ($i = 0; $i <= $maxposts - 1; $i++) {
                 $item = $feed->get_item($i);
                 if (empty($item)) {
                     continue;
                 }
                 if (include_post($feeditem["FeedCatID"], $item->get_content(), $item->get_title()) == 0) {
                     continue;
                 }
                 // FILTER
                 if ($enclosure = $item->get_enclosure()) {
                     if (!IS_NULL($item->get_enclosure()->get_thumbnail())) {
                         $mediaImage = $item->get_enclosure()->get_thumbnail();
                     } else {
                         if (!IS_NULL($item->get_enclosure()->get_link())) {
                             $mediaImage = $item->get_enclosure()->get_link();
                         }
                     }
                 }
                 $myarray[] = array("mystrdate" => strtotime($item->get_date()), "mytitle" => $item->get_title(), "mylink" => $item->get_link(), "myGroup" => $feeditem["FeedName"], "mydesc" => $item->get_content(), "myimage" => $mediaImage, "mycatid" => $feeditem["FeedCatID"]);
                 unset($mediaImage);
             }
         }
     }
     if (!isset($myarray) || empty($myarray)) {
         return _e("There is a problem with the feeds you entered.  Go to our <a href='http://www.allenweiss.com/wp_plugin'>support page</a> and we'll help you diagnose the problem.", 'wp-rss-multi-importer');
         exit;
     }
     //$myarrary sorted by mystrdate
     foreach ($myarray as $key => $row) {
         $dates[$key] = $row["mystrdate"];
     }
     //SORT, DEPENDING ON SETTINGS
     if ($sortDir == 1) {
         array_multisort($dates, SORT_ASC, $myarray);
     } else {
         array_multisort($dates, SORT_DESC, $myarray);
     }
     // HOW THE LINK OPENS
     global $isMobileDevice;
     if (isset($isMobileDevice) && $isMobileDevice == 1) {
         //open mobile device windows in new tab
         $targetWindow = 2;
     }
     if ($targetwindow == 0) {
         $openWindow = 'class="colorbox"';
     } elseif ($targetwindow == 1) {
         $openWindow = 'target=_self';
     } else {
         $openWindow = 'target=_blank';
     }
     $total = -1;
     if ($simplelist == 1) {
         echo '<ul class="wprssmi_widget_list">';
         foreach ($myarray as $items) {
             $total = $total + 1;
             if ($count > 0 && $total >= $count) {
                 break;
             }
             echo '<li class="title"><a ' . $openWindow . ' href="' . $items["mylink"] . '" ' . ($noFollow == 1 ? 'rel=nofollow' : '') . '>' . $items["mytitle"] . '</a>';
             if (!empty($items["mystrdate"]) && $showdate == 1) {
                 echo '<span class="date">' . date_i18n("D, M d, Y", $items["mystrdate"]) . '</span>';
             }
             echo '</li>';
         }
         //  don't mess with this php code
         echo '</ul>';
     } else {
         echo ' <div class="news-wrapper" id="newsticker" style="10px;background-color:' . $background . ';">';
         echo '	<div class="news-contents">';
         foreach ($myarray as $items) {
             $total = $total + 1;
             if ($count > 0 && $total >= $count) {
                 break;
             }
             echo '<div style="top: 101px;margin-left:5px;" class="news">';
             echo '<p class="widget-rss-output" style="margin-right:5px">';
             if ($showimage == 1 && $addmotion != 1) {
                 echo showexcerpt($items["mydesc"], 0, $openWindow, 0, $items["mylink"], 1, "left", 0, $items["myimage"], $items["mycatid"]);
             }
             echo '<a ' . $openWindow . ' href="' . $items["mylink"] . '">' . $items["mytitle"] . '</a><br />';
             if ($showdesc == 1 && $addmotion != 1) {
                 $desc = esc_attr(strip_tags(@html_entity_decode($items["mydesc"], ENT_QUOTES, get_option('blog_charset'))));
                 $desc = str_replace('[...]', '', $desc);
                 $words = explode(" ", trim($desc));
                 $desc = implode(" ", array_splice($words, 0, $descNum));
                 $desc .= ' <a ' . $openWindow . ' href="' . $items["mylink"] . '">[&hellip;]</a>';
                 echo $desc . '<br/>';
             }
             if (!empty($items["mystrdate"]) && $showdate == 1) {
                 echo date_i18n("D, M d, Y", $items["mystrdate"]) . '<br />';
             }
             if (!empty($items["myGroup"]) && $showsource == 1) {
                 echo '<span style="font-style:italic;">' . $attribution . '' . $items["myGroup"] . '</span>';
             }
             echo '</p>';
             echo '</div>';
         }
         echo '</div></div>';
     }
     echo $after_widget;
 }