public function updateRelevanceAction() { /** @var NewsSource[] $sources */ $sources = NewsSource::find(); $this->log('Will update relevance of ' . count($sources) . ' sources.'); foreach ($sources as $source) { $this->log($source->title); $source->updateRelevance(); } $this->log('Done'); }
public function create($feedUrl) { $feed = new SimplePie(); $feed->set_feed_url($feedUrl); $feed->set_cache_location(__DIR__ . '/../../cache'); $success = $feed->init(); $feed->handle_content_type(); if ($feed->error() || !$success) { return [null, $feed->error()]; } $source = new NewsSource(); $source->title = html_entity_decode($feed->get_title()); $source->imageUrl = $feed->get_image_url(); $source->feed = $feedUrl; $source->link = $feed->get_link(); if ($source->save()) { return [$source, null]; } else { return [null, 'Error saving to Database.']; } }
/** * @param $username * @return bool */ public function deleteAction($username, $id) { // Get User /** @var User $user */ $user = User::findFirst([['username' => $username]]); if (!$user) { return $this->fail(['message' => "User doesn't exist."]); } // Check if Source already on the DB /** @var NewsSource $source */ $source = NewsSource::findById($id); if (!$source) { return $this->fail(['message' => "Source doesn't exist."]); } $user->removeNewsSource($source->getId()); if ($user->save()) { return $this->succeed(); } else { return $this->fail(['message' => 'Error saving to Database.']); } }
public function getNewsSourcesInfo() { return NewsSource::find([['_id' => ['$in' => $this->newsSources]]]); }