function create_object($args) { $feed_item = new PF_Feed_Item(); $feed_item_id = $feed_item->create($args); $meta_keys = array('item_id', 'source_title', 'item_date', 'item_author', 'item_link', 'item_feat_img', 'item_wp_date', 'sortable_item_date', 'item_tags', 'source_repeat', 'revertible_feed_text'); foreach ($meta_keys as $mk) { if (isset($args[$mk])) { update_post_meta($feed_item_id, $mk, $args[$mk]); } } return $feed_item_id; }
public function test_archive_feed_to_display_return_format() { $feed_id = $this->factory->feed->create(); $time = time(); $feed_item_id = $this->factory->feed_item->create(array('post_parent' => $feed_id, 'item_title' => 'Test item', 'item_link' => 'Test link', 'item_content' => 'Test content', 'source_title' => 'Test source title', 'sortable_item_date' => 10000, 'item_date' => 20000, 'item_author' => 'foo', 'item_feat_img' => 'Test feat img', 'item_wp_date' => $time)); $found = PF_Feed_Item::archive_feed_to_display(1); $expected = array('item_title' => 'Test item', 'source_title' => 'Test source title', 'item_date' => '20000', 'item_author' => 'foo', 'item_content' => 'Test content', 'item_link' => 'Test link', 'item_feat_img' => 'Test feat img', 'item_id' => '', 'item_wp_date' => (string) $time, 'item_tags' => '', 'item_added_date' => date('o-m-d\\TH:i:sO', $time), 'source_repeat' => '', 'post_id' => $feed_item_id, 'readable_status' => ''); // Check each key individually because format may change in the future. $this->assertNotEmpty($found['rss_archive_0']); $keys = array('item_title', 'source_title', 'item_date', 'item_author', 'item_content', 'item_link', 'item_feat_img', 'item_id', 'item_wp_date', 'item_tags', 'item_added_date', 'source_repeat', 'post_id', 'readable_status'); foreach ($keys as $key) { $this->assertEquals($expected[$key], $found['rss_archive_0'][$key]); } }
function pf_test_import() { if (is_super_admin() && !empty($_GET['pf_test_import'])) { var_dump(pf_get_starred_items_for_user(get_current_user_id(), 'simple')); return; $feed = fetch_feed('http://teleogistic.net/feed'); $source = $feed->subscribe_url(); foreach ($feed->get_items() as $item) { $io = new PF_Feed_Item(); // Check for existing items before importing $foo = $io->get(array('url' => $item->get_link(0), 'foo' => 'bar')); if (empty($foo)) { $tags = wp_list_pluck($item->get_categories(), 'term'); $fi_id = $io->create(array('title' => $item->get_title(), 'url' => $item->get_link(0), 'content' => $item->get_content(), 'source' => $source, 'date' => strtotime($item->get_date()), 'tags' => $tags)); } else { $fi_id = $foo[0]->ID; } pf_star_item_for_user($fi_id, get_current_user_id()); if (rand(0, 1)) { echo 'deleted:'; var_dump(pf_unstar_item_for_user($fi_id, get_current_user_id())); } echo 'starred: '; var_dump(pf_is_item_starred_for_user($fi_id, get_current_user_id())); var_dump($fi_id); } } }