Example #1
0
 private static function enreachPaginator($articlesPaginator)
 {
     if (isset($articlesPaginator) && count($articlesPaginator->items()) > 0) {
         $articlesPaginator->items(ArticleService::getEnrichedArticles($articlesPaginator->items()));
         return $articlesPaginator;
     }
     return null;
 }
Example #2
0
 public function show($authorId)
 {
     try {
         $author = AuthorDao::findById($authorId);
     } catch (NoElementException $e) {
         App::abort(404, 'Author not found');
     }
     $articles = ArticleDao::findByAuthor($authorId);
     $articles = ArticleService::getEnrichedArticles($articles);
     return view('author.details')->with(array('author' => $author, 'articles' => $articles));
 }
Example #3
0
 public function show($prefix, $selectedYear, $number)
 {
     try {
         $journal = JournalDao::findByPrefix($prefix);
         $edition = EditionDao::findByJournalIdAndYearNumber($journal->journal_id, $selectedYear, $number);
     } catch (NoElementException $e) {
         App::abort(404, 'Edition not found');
     }
     $articles = ArticleDao::findByEdition($edition->journal_edition_id);
     $articles = ArticleService::getEnrichedArticles($articles);
     return view('edition.details')->with(array('edition' => $edition, 'journal' => $journal, 'articles' => $articles));
 }
Example #4
0
 private function getArticleValues(Request $request)
 {
     $values = self::getCommonValues($request);
     self::checkRecordsArguments($request);
     self::checkMetadataPrefix($request);
     $from = self::MIN_FROM;
     $from_temp = self::getQueryValue($request, 'from');
     if ($from_temp != null) {
         $from = $from_temp;
     }
     $until = self::MAX_UNTIL;
     $until_temp = self::getQueryValue($request, 'until');
     if ($until_temp != null) {
         if (strlen($until_temp) == 10) {
             // day granularity
             $until = $until_temp . 'T23:59:59Z';
         } else {
             $until = $until_temp;
         }
     }
     $values['completeListSize'] = ArticleDao::getContentCount($from, $until);
     $resumptionToken = self::getQueryValue($request, 'resumptionToken');
     if ($resumptionToken == null) {
         $resumptionToken = 0;
     }
     self::checkToken($resumptionToken, $values['completeListSize']);
     if ($values['completeListSize'] == 0) {
         throw new OaiError('0 records', self::ERROR_NO_RECORDS_MATCH);
     }
     $articles = ArticleDao::findContentCustomPaginated($resumptionToken, self::PAGE_SIZE, $from, $until);
     $articles = ArticleService::getEnrichedArticles($articles);
     foreach ($articles as $article) {
         self::enrichArticle($article);
     }
     $values['articles'] = $articles;
     $values['expirationDate'] = self::getDateAsString(time() + 86400 * 2);
     $values['cursor'] = $resumptionToken;
     if ($resumptionToken + self::PAGE_SIZE > $values['completeListSize']) {
         $values['resumptionToken'] = "";
     } else {
         $values['resumptionToken'] = $resumptionToken + self::PAGE_SIZE;
     }
     return $values;
 }