Beispiel #1
0
function wp_rss_multi_importer_checkfeeds()
{
    $rssmi_global_options = get_option('rssmi_global_options');
    $noDirectFetch = isset($rssmi_global_options['noForcedFeed']) ? $rssmi_global_options['noForcedFeed'] : 0;
    global $wpdb;
    $query = "SELECT ID FROM {$wpdb->posts} WHERE post_status = 'publish' AND post_type = 'rssmi_feed'";
    $myUrlList = array();
    $ids = $wpdb->get_results($query);
    foreach ($ids as $id) {
        array_push($myUrlList, get_post_meta($id->ID, 'rssmi_url', true));
    }
    if (!empty($myUrlList)) {
        //  Check invalid Feed URLS
        $badURL = 0;
        foreach ($myUrlList as $rssURL) {
            if (!empty($rssURL)) {
                if ($noDirectFetch == 1) {
                    $feed = fetch_feed($rssURL);
                } else {
                    $feed = wp_rss_fetchFeed($rssURL, 20, true, 0);
                }
                if ($feed->error()) {
                    if ($badURL == 0) {
                        _e('<div style="border-bottom:1px solid black;padding-bottom:20px"><h2>These RSS Feed URL are either invalid or not making a connection to their servers at the time of this test:</h2> (If after checking, you find the feed is valid then  <a href="http://www.wprssimporter.com/faqs/im-told-the-feed-isnt-valid-or-working/" target=\\"_blank\\">go here to learn more about what might be wrong</a>.)', 'wp-rss-multi-importer');
                        $badURL = 1;
                    }
                    _e('<h3> ' . $rssURL . '</h3>', 'wp-rss-multi-importer');
                    _e("<strong>Error: Invalid feed URL or feed is not being served at the time of this test.</strong> - Validate this feed source URL by <a href=\"http://validator.w3.org/feed/check.cgi?url=" . $rssURL . "\" target=\"_blank\">clicking here</a>.", 'wp-rss-multi-importer');
                }
                if ($badURL == 1) {
                    echo "</div>";
                }
            }
        }
        if ($badURL == 0) {
            _e("<h3>GOOD NEWS: There were no errors due to feeds not connecting to external servers.  Make sure to update the feeds by clicking the green button below.</h3>", 'wp-rss-multi-importer');
        }
        die;
    }
}
Beispiel #2
0
function rssmi_check_url_status()
{
    global $post;
    $feed_url = get_post_meta($post->ID, 'rssmi_url', true);
    $checkmark = WP_RSS_MULTI_IMAGES . "check_mark.png";
    $urlerror = WP_RSS_MULTI_IMAGES . "error.png";
    if (!empty($feed_url)) {
        //	echo $feed_url;
        $feed = wp_rss_fetchFeed($feed_url);
        //  if ( ! is_wp_error( $feed ) ) {
        if (!$feed->error()) {
            //	return "<span style=\"color:green\">OK</span>";
            //			return "<img src=$checkmark>";
        } else {
            //			return "<img src=$urlerror>";
            //	return "<span style=\"color:red\">NOT AVAILABLE</span>";
        }
    }
}
function wp_rss_multi_importer_shortcode($atts = array())
{
    add_action('wp_footer', 'footer_scripts');
    if (!function_exists("wprssmi_hourly_feed")) {
        function wprssmi_hourly_feed()
        {
            return 0;
        }
    }
    add_filter('wp_feed_cache_transient_lifetime', 'wprssmi_hourly_feed');
    $siteurl = get_site_url();
    $cat_options_url = $siteurl . '/wp-admin/options-general.php?page=wp_rss_multi_importer_admin&tab=category_options/';
    $images_url = $siteurl . '/wp-content/plugins/' . basename(dirname(__FILE__)) . '/images';
    global $fopenIsSet;
    $fopenIsSet = ini_get('allow_url_fopen');
    $parms = shortcode_atts(array('category' => 0, 'hdsize' => '16px', 'hdweight' => 400, 'anchorcolor' => '', 'testyle' => 'color: #000000; font-weight: bold;margin: 0 0 0.8125em;', 'maximgwidth' => 150, 'datestyle' => 'font-style:italic;', 'floattype' => '', 'showdate' => 1, 'showgroup' => 1, 'thisfeed' => '', 'timer' => 0, 'dumpthis' => 0, 'cachetime' => NULL, 'pinterest' => 0, 'maxperpage' => 0, 'excerptlength' => 50, 'noimage' => 0, 'sortorder' => NULL, 'defaultimage' => NULL, 'showdesc' => NULL, 'mytemplate' => '', 'showmore' => NULL, 'authorprep' => 'by', 'windowstyle' => NULL, 'morestyle' => '[...]'), $atts);
    $showThisDesc = $parms['showdesc'];
    $defaultImage = $parms['defaultimage'];
    $sortOrder = $parms['sortorder'];
    $authorPrep = $parms['authorprep'];
    $anchorcolor = $parms['anchorcolor'];
    $datestyle = $parms['datestyle'];
    $hdsize = $parms['hdsize'];
    $thisCat = $parms['category'];
    $parmfloat = $parms['floattype'];
    $catArray = explode(",", $thisCat);
    $showdate = $parms['showdate'];
    $showgroup = $parms['showgroup'];
    $pshowmore = $parms['showmore'];
    $hdweight = $parms['hdweight'];
    $testyle = $parms['testyle'];
    global $morestyle;
    $morestyle = $parms['morestyle'];
    $warnmsg = $parms['warnmsg'];
    global $maximgwidth;
    $maximgwidth = $parms['maximgwidth'];
    $thisfeed = $parms['thisfeed'];
    // max posts per feed
    $timerstop = $parms['timer'];
    $dumpthis = $parms['dumpthis'];
    //diagnostic parameter
    $cachename = 'wprssmi_' . $thisCat;
    $cachetime = $parms['cachetime'];
    $pinterest = $parms['pinterest'];
    $parmmaxperpage = $parms['maxperpage'];
    $noimage = $parms['noimage'];
    $mytemplate = $parms['mytemplate'];
    $windowstyle = $parms['windowstyle'];
    $excerptlength = $parms['excerptlength'];
    $readable = '';
    $options = get_option('rss_import_options');
    $option_items = get_option('rss_import_items');
    $option_category_images = get_option('rss_import_categories_images');
    if ($option_items == false) {
        return _e("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", 'wp-rss-multi-importer');
    }
    $cat_array = preg_grep("^feed_cat_^", array_keys($option_items));
    if (count($cat_array) == 0) {
        // for backward compatibility
        $noExistCat = 1;
    } else {
        $noExistCat = 0;
    }
    if (!empty($option_items)) {
        //GET PARAMETERS
        global $RSSdefaultImage;
        $RSSdefaultImage = $options['RSSdefaultImage'];
        // 0- process normally, 1=use default for category, 2=replace when no image available
        $size = count($option_items);
        $sortDir = $options['sortbydate'];
        // 1 is ascending
        $stripAll = $options['stripAll'];
        $todaybefore = $options['todaybefore'];
        $adjustImageSize = $options['adjustImageSize'];
        $showDesc = $options['showdesc'];
        // 1 is show
        $descNum = $options['descnum'];
        $maxperPage = $options['maxperPage'];
        $showcategory = $options['showcategory'];
        $cacheMin = $options['cacheMin'];
        $maxposts = $options['maxfeed'];
        $showsocial = $options['showsocial'];
        $targetWindow = $options['targetWindow'];
        // 0=LB, 1=same, 2=new
        $floatType = $options['floatType'];
        $noFollow = $options['noFollow'];
        $showmore = $options['showmore'];
        $cb = $options['cb'];
        // 1 if colorbox should not be loaded
        $pag = $options['pag'];
        // 1 if pagination
        $perPage = $options['perPage'];
        global $anyimage;
        $anyimage = $options['anyimage'];
        $addAuthor = $options['addAuthor'];
        $warnmsg = $options['warnmsg'];
        $directFetch = $options['directFetch'];
        $forceFeed = $options['forceFeed'];
        $forceFeed = $forceFeed == 1 ? True : False;
        $timeout = $options['timeout'];
        if (!isset($timeout)) {
            $timeout = 10;
        }
        if (!isset($directFetch)) {
            $directFetch = 0;
        }
        if (!is_null($defaultImage)) {
            $RSSdefaultImage = $defaultImage;
        }
        if (!is_null($windowstyle)) {
            $targetWindow = $windowstyle;
        }
        if (!is_null($showThisDesc)) {
            $showDesc = $showThisDesc;
        }
        if (!is_null($sortOrder)) {
            $sortDir = $sortOrder;
        }
        if (!is_null($pshowmore)) {
            $showmore = $pshowmore;
        }
        if (!is_null($excerptlength)) {
            $descNum = $excerptlength;
        }
        if (empty($options['sourcename'])) {
            $attribution = '';
        } else {
            $attribution = $options['sourcename'] . ': ';
        }
        if ($floatType == '1') {
            $float = "left";
        } else {
            $float = "none";
        }
        if ($parmfloat != '') {
            $float = $parmfloat;
        }
        if ($parmmaxperpage != 0) {
            $maxperPage = $parmmaxperpage;
        }
        if ($noimage == 1) {
            $stripAll = 1;
        }
        if ($thisfeed != '') {
            $maxposts = $thisfeed;
        }
        if ($pinterest == 1) {
            $divfloat = "left";
        } else {
            $divfloat = '';
        }
        if ($cacheMin == '') {
            $cacheMin = 0;
        }
        //set caching minutes
        if (!is_null($cachetime)) {
            $cacheMin = $cachetime;
        }
        //override caching minutes with shortcode parameter
        if (is_null($cb) && $targetWindow == 0) {
            add_action('wp_footer', 'colorbox_scripts');
            // load colorbox only if not indicated as conflict
        }
        $template = $options['template'];
        if ($mytemplate != '') {
            $template = $mytemplate;
        }
        //	END PARAMETERS
        timer_start();
        //TIMER START - for testing purposes
        $myarray = get_transient($cachename);
        // added  for transient cache
        if ($cacheMin == 0) {
            delete_transient($cachename);
        }
        if (false === $myarray) {
            //  added  for transient cache - only get feeds and put into array if the array isn't cached (for a given category set)
            for ($i = 1; $i <= $size; $i = $i + 1) {
                $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];
                next($option_items);
                $key = key($option_items);
                $rssURL = $option_items[$key];
                next($option_items);
                $key = key($option_items);
                $rssCatID = $option_items[$key];
                ///this should be the category ID
                if (!in_array(0, $catArray) && in_array($option_items[$key], $catArray) || in_array(0, $catArray) || $noExistCat == 1) {
                    $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 _e("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>", 'wp-rss-multi-importer');
            }
            // check to confirm they set options
            if (empty($myfeeds)) {
                return _e("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.", 'wp-rss-multi-importer');
                exit;
            }
            if ($dumpthis == 1) {
                rssmi_list_the_plugins();
                echo "<strong>Feeds</strong><br>";
                var_dump($myfeeds);
            }
            foreach ($myfeeds as $feeditem) {
                $url = (string) $feeditem["FeedURL"];
                while (stristr($url, 'http') != $url) {
                    $url = substr($url, 1);
                }
                if (empty($url)) {
                    continue;
                }
                $url = esc_url_raw(strip_tags($url));
                if ($directFetch == 1) {
                    $feed = wp_rss_fetchFeed($url, $timeout, $forceFeed);
                } else {
                    $feed = fetch_feed($url);
                }
                if (is_wp_error($feed)) {
                    if ($dumpthis == 1) {
                        echo $feed->get_error_message();
                    }
                    if ($size < 4) {
                        return _e("You have one feed and it's not a valid RSS feed.  This is likely a problem with the source of the RSS feed.  Contact our support forum for help.", 'wp-rss-multi-importer');
                        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_link(), "myGroup" => $feeditem["FeedName"], "mydesc" => $item->get_content(), "myimage" => $mediaImage, "mycatid" => $feeditem["FeedCatID"], "myAuthor" => $itemAuthor);
                        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
                        //	$x=1;
                        if ($enclosure = $item->get_enclosure()) {
                            if (!IS_NULL($item->get_enclosure()->get_thumbnail())) {
                                $mediaImage = $item->get_enclosure()->get_thumbnail();
                                //$mediaImage=$mediaImage2[$x];
                            } 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_link(), "myGroup" => $feeditem["FeedName"], "mydesc" => $item->get_content(), "myimage" => $mediaImage, "mycatid" => $feeditem["FeedCatID"], "myAuthor" => $itemAuthor);
                        unset($mediaImage);
                        unset($itemAuthor);
                    }
                }
            }
            if ($cacheMin !== 0) {
                set_transient($cachename, $myarray, 60 * $cacheMin);
                //  added  for transient cache
            }
        }
        //  added  for transient cache
        if ($timerstop == 1) {
            timer_stop(1);
            echo ' seconds<br>';
            //TIMER END for testing purposes
        }
        //  CHECK $myarray BEFORE DOING ANYTHING ELSE //
        if ($dumpthis == 1) {
            echo "<br><strong>Array</strong><br>";
            var_dump($myarray);
            return;
        }
        if (!isset($myarray) || empty($myarray)) {
            if (!$warnmsg == 1 && current_user_can('edit_post')) {
                return _e("There is a problem with the feeds you entered.  Go to our <a href='http://www.allenweiss.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
        if ($targetWindow == 0) {
            $openWindow = 'class="colorbox"';
        } elseif ($targetWindow == 1) {
            $openWindow = 'target="_self"';
        } else {
            $openWindow = 'target="_blank"';
        }
        $total = -1;
        $todayStamp = 0;
        $idnum = 0;
        //for pagination
        $currentPage = trim($_REQUEST[pg]);
        $currentURL = $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"];
        $currentURL = str_replace('&pg=' . $currentPage, '', $currentURL);
        $currentURL = str_replace('?pg=' . $currentPage, '', $currentURL);
        if (strpos($currentURL, '?') == 0) {
            $currentURL = $currentURL . '?';
        } else {
            $currentURL = $currentURL . '&';
        }
        //pagination controls and parameters
        if (!isset($perPage)) {
            $perPage = 5;
        }
        $numPages = ceil(count($myarray) / $perPage);
        if (!$currentPage || $currentPage > $numPages) {
            $currentPage = 0;
        }
        $start = $currentPage * $perPage;
        $end = $currentPage * $perPage + $perPage;
        if ($pag == 1) {
            //set up pagination array and put into myarray
            foreach ($myarray as $key => $val) {
                if ($key >= $start && $key < $end) {
                    $pagedData[] = $myarray[$key];
                }
            }
            $myarray = $pagedData;
        }
        //end set up pagination array and put into myarray
        //  templates checked and added here
        if (!isset($template) || $template == '') {
            return _e("One more step...go into the <a href='/wp-admin/options-general.php?page=wp_rss_multi_importer_admin&tab=setting_options'>Settings Panel and choose a Template.</a>", 'wp-rss-multi-importer');
        }
        require WP_RSS_MULTI_TEMPLATES . $template;
    }
    //pagination controls at bottom
    if ($pag == 1 && $numPages > 1) {
        $readable .= '<div class="rssmi_pagination"><ul>';
        for ($q = 0; $q < $numPages; $q++) {
            if ($currentPage > 0 && $q == 0) {
                $readable .= '<li class="prev"><a href="http://' . $currentURL . 'pg=' . ($currentPage - 1) . '">Prev</a></li>';
            }
            if ($currentPage != $q) {
                $readable .= '<li><a href="http://' . $currentURL . 'pg=' . $q . '"> ' . __($q + 1, 'wp-rss-multi-importer') . '</a></li>';
            } else {
                $readable .= '<li class="active"><a href="#">' . ($q + 1) . '</a></li>';
            }
            if ($q == $numPages - 1 && $currentPage != $numPages - 1) {
                $readable .= '<li class="next"><a href="http://' . $currentURL . 'pg=' . ($currentPage + 1) . '">Next</a></li>';
            }
        }
        $readable .= '</ul></div>';
    }
    //end pagination controls at bottom
    return $readable;
}
Beispiel #4
0
/**
 * Fetches feed items for a specific feed
 */
function rssmi_fetch_feed_items($post_id, $feed_total_fetch = 10)
{
    $rssmi_global_options = get_option('rssmi_global_options');
    $noDirectFetch = isset($rssmi_global_options['noForcedFeed']) ? $rssmi_global_options['noForcedFeed'] : 0;
    $timeout = 20;
    $forceFeed = true;
    $showVideo = 1;
    global $wpdb;
    $didUpdate = 0;
    $post = get_post($post_id);
    if ($post->post_type == 'rssmi_feed' && $post->post_status == 'publish') {
        // Get the feed source
        $query = "SELECT ID, post_date, post_title, guid FROM {$wpdb->posts} WHERE post_status = 'publish' AND post_type = 'rssmi_feed' AND ID = {$post_id}";
        $feed_source = $wpdb->get_results($query);
        if (!empty($feed_source)) {
            $feed_ID = $post_id;
            $feed_url = get_post_meta($post_id, 'rssmi_url', true);
            $feed_cat = get_post_meta($post_id, 'rssmi_cat', true);
            $rssmi_user = get_post_meta($post_id, 'rssmi_user', true);
            $rssmi_title = get_the_title($post_id);
            if (!empty($feed_url)) {
                $url = esc_url_raw(strip_tags($feed_url));
                if ($noDirectFetch == 1) {
                    $feed = fetch_feed($url);
                } else {
                    $feed = wp_rss_fetchFeed($url, $timeout, $forceFeed, $showVideo);
                }
                if (!is_wp_error($feed)) {
                    // Limit  to 10 unless fetched from feed page.
                    $maxitems = $feed->get_item_quantity($feed_total_fetch);
                    // Build an array of all the items, starting with element 0 (first element).
                    $items = $feed->get_items(0, $maxitems);
                } else {
                    return;
                }
            }
            if (!empty($items)) {
                foreach ($items as $item) {
                    $cleanLink = strip_qs_var_match('news.google.com', $item->get_permalink(), 'url');
                    // clean all parameters except the url from links from Google News
                    $mypostids = $wpdb->get_results("select post_id from {$wpdb->postmeta} where meta_key = 'rssmi_item_permalink' and meta_value like '%" . $cleanLink . "%'");
                    //	$myposttitle=$wpdb->get_results("select post_title from $wpdb->posts where post_type='rssmi_feed_item' and post_title like '%".mysql_real_escape_string(trim($item->get_title()))."%'");
                    if (empty($mypostids) && $mypostids !== false) {
                        $didUpdate = 1;
                        if (IS_NULL($item->get_date())) {
                            $post_date = $rightNow;
                            $unix_date = strtotime($rightNow);
                        } else {
                            $post_date = get_date_from_gmt($item->get_date('Y-m-d H:i:s'));
                            $unix_date = $item->get_date('U');
                        }
                        if (rssmi_is_not_fresh($post_date) == 1) {
                            continue;
                        }
                        //filter for days old
                        // Create post object
                        $feed_item = array('post_title' => html_entity_decode($item->get_title()), 'post_content' => '', 'post_date' => $post_date, 'post_status' => 'publish', 'post_type' => 'rssmi_feed_item');
                        remove_action('save_post', 'rssmi_save_custom_fields');
                        $inserted_ID = wp_insert_post($feed_item);
                        add_action('save_post', 'rssmi_save_custom_fields');
                        if ($feedAuthor = $item->get_author()) {
                            $feedAuthor = $item->get_author()->get_name();
                        }
                        if ($enclosure = $item->get_enclosure()) {
                            $FeedMediaID = get_post_meta($feed_ID, 'rssmi_mediaID', true);
                            // GET THE CHOSEN MEDIA IMAGE FROM THE ENCLOSURE
                            $useMediaImage = $FeedMediaID > 0 ? 1 : 0;
                            $inum = isset($FeedMediaID) ? $FeedMediaID - 1 : 0;
                            if (!IS_NULL($item->get_enclosure()->get_thumbnails())) {
                                $mediaImageArray = $item->get_enclosure()->get_thumbnails();
                                $mediaImage = $mediaImageArray[$inum];
                            } else {
                                if (!IS_NULL($item->get_enclosure()->get_link())) {
                                    $mediaImage = $item->get_enclosure()->get_link();
                                }
                            }
                        }
                        if (!IS_Null($item->get_categories())) {
                            $categoryTerms = "";
                            foreach ($item->get_categories() as $category) {
                                $categoryTerms .= $category->get_term() . ', ';
                            }
                            $postCategories = rtrim($categoryTerms, ', ');
                        } else {
                            $postCategories = Null;
                        }
                        if ($itemAuthor = $item->get_author()) {
                            $itemAuthor = !IS_NULL($item->get_author()->get_name()) ? $item->get_author()->get_name() : $item->get_author()->get_email();
                            $itemAuthor = html_entity_decode($itemAuthor, ENT_QUOTES, 'UTF-8');
                        } else {
                            if (!IS_NULL($feedAuthor)) {
                                $itemAuthor = $feedAuthor;
                                $itemAuthor = html_entity_decode($itemAuthor, ENT_QUOTES, 'UTF-8');
                            }
                        }
                        $myarray[] = array("mystrdate" => strtotime($post_date), "mytitle" => html_entity_decode($item->get_title()), "mylink" => $item->get_permalink(), "mydesc" => $item->get_content(), "myimage" => $mediaImage, "myAuthor" => $itemAuthor, "itemcategory" => $postCategories, "mycatid" => $feed_cat, "myGroup" => $rssmi_title, "feedID" => $feed_ID, "useMediaImage" => $useMediaImage);
                        unset($mediaImage);
                        unset($itemAuthor);
                        unset($useMediaImage);
                        unset($post_date);
                        unset($rssmi_title);
                        unset($feed_cat);
                        update_post_meta($inserted_ID, 'rssmi_item_permalink', $cleanLink);
                        update_post_meta($inserted_ID, 'rssmi_item_description', $myarray);
                        update_post_meta($inserted_ID, 'rssmi_item_date', $unix_date);
                        // Save as Unix timestamp format
                        update_post_meta($inserted_ID, 'rssmi_item_feed_id', $post_id);
                        unset($myarray);
                        unset($unix_date);
                        unset($cleanLink);
                    }
                    //end if
                }
                //end foreach
            }
            // end if
        }
        // end if not empty
        if ($didUpdate == 1) {
            update_post_meta($feed_ID, 'rssmi_last_update', time());
        }
    }
    // end if
}