Пример #1
0
 public function misc()
 {
     $topics = TopicDao::findAll();
     $editions = EditionWithJournalInfoService::findAll();
     $journals = JournalDao::findAll();
     return Response::view('sitemap.misc', compact('topics', 'editions', "journals"))->header('Content-Type', 'application/xml');
 }
Пример #2
0
 private function showPattern($prefix, $view)
 {
     try {
         $journal = JournalDao::findByPrefix($prefix);
     } catch (NoElementException $e) {
         App::abort(404, 'Journal not found');
     }
     $issueYears = EditionDao::listYears($journal->journal_id);
     return view($view)->with(array('journal' => $journal, 'issueYears' => $issueYears));
 }
Пример #3
0
 private static function createEdition(stdClass $parsedEdition)
 {
     $journal = JournalDao::findByName($parsedEdition->journal_name);
     if (!isset($journal)) {
         throw new Exception('Журнал с таким именем в базе не существует: ' . $parsedEdition->journal_name);
     }
     $edition = new stdClass();
     $edition->journal_id = $journal->journal_id;
     $edition->number = $parsedEdition->number;
     $edition->number_in_year = $parsedEdition->number_in_year;
     $edition->issue_year = $parsedEdition->issue_year;
     return $edition;
 }
Пример #4
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');
 }
Пример #5
0
 public function download($articleId, $fileName)
 {
     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);
     $original_filename = ArticleService::getFilePath($article, $journal, $edition);
     $new_filename = ArticleService::getArticleFileName($journal->prefix, $edition->issue_year, $edition->number_in_year, $article->sort_order);
     if ($fileName != $new_filename) {
         return redirect(route('article.download', [$articleId, $new_filename]), 301);
     }
     $headers = array("Content-Type: application/pdf");
     return response()->download($original_filename, $new_filename, $headers);
 }