/** * Item repository * * @param AbstractConnection $connection * * @return ItemRepository|Repository */ public function getRepository(AbstractConnection $connection = null) { if ($this->repository == null) { if ($connection == null) { $connection = $this->app->db; } $this->repository = new ItemRepository($connection); $this->repository->setUserScope($this->app->user['id']); } return $this->repository; }
protected function before() { $this->sourceRepository->setUserScope($this->app->user['id']); $this->tagRepository->setUserScope($this->app->user['id']); $this->itemRepository->setUserScope($this->app->user['id']); }
if (!$error && $items != null) { foreach ($items as $item) { if (isset($item['uid'])) { $dbItem = $itemRepository->findBy('uid', $item['uid']); if (!empty($dbItem)) { if ($item['content'] !== $dbItem['content'] || $item['title'] !== $dbItem['title']) { $item['id'] = $dbItem['id']; $item['starred'] = $dbItem['starred']; $item['created_at'] = $dbItem['created_at']; } else { continue; } } } $item['source_id'] = $source['id']; $itemRepository->setUserScope($user_id); $itemRepository->persist($item); } $source['last_update'] = date('Y-m-d H:i:s'); if (empty($source['period'])) { $source['period'] = $worker->getUpdateInterval(); } } $source['errors'] = $worker->getErrors(); } else { $error = true; $source['errors'] = $fetcher->getError(); } } // update source unread counter $count = $source['unread'];