Ejemplo n.º 1
0
 private static function processSingleAlternative($article, $alternative)
 {
     $alternative->article_id = $article->article_id;
     $existingAlternative = AlternativeDao::findByArticleIdAndLanguage($alternative->article_id, $alternative->language);
     if (count($existingAlternative) != 0) {
         AlternativeDao::update($alternative);
     } else {
         AlternativeDao::persist($alternative);
     }
 }
Ejemplo n.º 2
0
 private function getArticleData($articleId)
 {
     try {
         $articleRow = ArticleDao::findById($articleId);
     } catch (NoElementException $e) {
         App::abort(404, 'Article not found');
     }
     $article = ArticleService::getEnrichedArticle($articleRow);
     $edition = EditionDao::findById($articleRow->journal_edition_id);
     $journal = JournalDao::findById($edition->journal_id);
     ArticleService::enrichFileSize($article, $journal, $edition);
     $fileName = ArticleService::getArticleFileName($journal->prefix, $edition->issue_year, $edition->number_in_year, $article->sort_order);
     $alternatives = AlternativeDao::findByArticleId($articleId);
     return array('article' => $article, 'edition' => $edition, 'journal' => $journal, 'fileName' => $fileName, 'alternatives' => $alternatives);
 }
Ejemplo n.º 3
0
 public function showEng($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);
     $alternatives = AlternativeDao::findByEditionAndLanguage($edition->journal_edition_id, "eng");
     EnglishService::mapAlternativesToArticles($articles, $alternatives);
     EnglishService::renameCommonTitles($articles);
     $engArticles = EnglishService::removeNonEnglish($articles);
     EnglishService::mapEngArticleAuthors($engArticles);
     return view('eng.edition.details')->with(array('edition' => $edition, 'journal' => $journal, 'articles' => $engArticles));
 }
Ejemplo n.º 4
0
 public function alternative($page)
 {
     $alternatives = AlternativeDao::find(($page - 1) * self::SITEMAP_SIZE, self::SITEMAP_SIZE);
     return Response::view('sitemap.alternative', compact('alternatives'))->header('Content-Type', 'application/xml');
 }
Ejemplo n.º 5
0
 private function enrichArticle($article)
 {
     $alternatives = AlternativeDao::findByArticleId($article->article_id);
     $article->alternatives = $alternatives;
     self::setShortLanguage($article);
     self::assignMainAuthorNames($article);
     self::convertArticleUpdateDate($article);
     $article->fileName = ArticleService::getArticleFileName($article->journal_prefix, $article->edition_issue_year, $article->edition_number_in_year, $article->sort_order);
     foreach ($article->alternatives as $alternative) {
         self::setShortLanguage($alternative);
         self::assignAlternativeAuthorNames($alternative, $alternative->authors);
         self::xmlEscape($alternative);
     }
     self::xmlEscape($article);
 }