Пример #1
0
 public function byYear($selectedYear)
 {
     $articles = ArticleDao::findContentByYear($selectedYear);
     foreach ($articles as $article) {
         $fileName = ArticleService::getArticleFileName($article->prefix, $article->issue_year, $article->number_in_year, $article->sort_order);
         $article->fileName = $fileName;
     }
     return view('year.details')->with(array('selectedYear' => $selectedYear, 'articles' => $articles));
 }
Пример #2
0
 public function show($topicId)
 {
     try {
         $topic = TopicDao::findById($topicId);
     } catch (NoElementException $e) {
         App::abort(404, 'Topic not found');
     }
     $articles = ArticleDao::findByTopicPaginated($topicId, self::PAGE_SIZE);
     return view('topic.details')->with(array('topic' => $topic, 'articles' => $articles));
 }
Пример #3
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));
 }
Пример #4
0
 private static function processSingleReferat($referat)
 {
     $article = ArticleDao::findByPeriodic($referat->getJournalPrefix(), $referat->getYear(), $referat->getEditionNumber(), $referat->getArticleNumber());
     if ($article->name != $referat->getMainContent()->name) {
         //            throw new Exception('Article names not match:' . $article->name . ' --- '
         //                . $referat->getMainContent()->name);
         echo $article->name . ' --- <br> ' . $referat->getMainContent()->name . '<br><br>';
     }
     self::upadateArticle($article, $referat);
     self::processAlternatives($article, $referat->getAlterContents());
 }
Пример #5
0
 public function raw($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);
     foreach ($articles as $article) {
         $fileName = ArticleService::getArticleFileName($prefix, $selectedYear, $number, $article->sort_order);
         $article->fileName = $fileName;
     }
     return Response::view('edition.raw', compact('articles'))->header('Content-Type', 'text/plain');
 }
Пример #6
0
 public function article($page)
 {
     $articles = ArticleDao::find(($page - 1) * self::SITEMAP_SIZE, self::SITEMAP_SIZE);
     return Response::view('sitemap.article', compact('articles'))->header('Content-Type', 'application/xml');
 }
Пример #7
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;
 }
 static function count()
 {
     return ArticleDao::count();
 }
Пример #9
0
 public static function importSingleArticle($line, $editionId, $index)
 {
     $article = self::createArticle($line, $editionId, $index);
     ArticleDao::persist($article);
 }
Пример #10
0
 public static function importSingleArticle($line, $editionId, $index, $topic)
 {
     $article = self::createArticle($line, $editionId, $index, $topic);
     $articleId = ArticleDao::persist($article);
     AuthorImporter::import($line, $articleId);
 }