From f4e365ce96502a1523d37c76dd730a62e1fb5711 Mon Sep 17 00:00:00 2001 From: ipuiu Date: Tue, 21 May 2013 20:49:21 +0300 Subject: [PATCH 1/3] Merged Language Feature. --- base.php | 30 ++++++++++++++++++ index.php | 12 ++++++- lang/Localization_en.json | 9 ++++++ language.php | 66 +++++++++++++++++++++++++++++++++++++++ 4 files changed, 116 insertions(+), 1 deletion(-) create mode 100644 language.php diff --git a/base.php b/base.php index 4482f5f..bb6ef36 100644 --- a/base.php +++ b/base.php @@ -235,6 +235,7 @@ class Entry Serie::ALL_SERIES_ID => 'images/serie.png', Book::ALL_RECENT_BOOKS_ID => 'images/recent.png', Tag::ALL_TAGS_ID => 'images/tag.png', + Language::ALL_LANGUAGES_ID => 'images/language.png', CustomColumn::ALL_CUSTOMS_ID => 'images/tag.png', "calibre:books$" => 'images/allbook.png', "calibre:books:letter" => 'images/allbook.png' @@ -325,6 +326,10 @@ class Page return new PageAllTags ($id, $query, $n); case Base::PAGE_TAG_DETAIL : return new PageTagDetail ($id, $query, $n); + case Base::PAGE_ALL_LANGUAGES : + return new PageAllLanguages ($id, $query, $n); + case Base::PAGE_LANGUAGE_DETAIL : + return new PageLanguageDetail ($id, $query, $n); case Base::PAGE_ALL_CUSTOMS : return new PageAllCustoms ($id, $query, $n); case Base::PAGE_CUSTOM_DETAIL : @@ -381,6 +386,8 @@ class Page if (!is_null ($series)) array_push ($this->entryArray, $series); $tags = Tag::getCount(); if (!is_null ($tags)) array_push ($this->entryArray, $tags); + $languages = Language::getCount(); + if (!is_null ($languages)) array_push ($this->entryArray, $languages); foreach ($config['cops_calibre_custom_column'] as $lookup) { $customId = CustomColumn::getCustomId ($lookup); if (!is_null ($customId)) { @@ -488,6 +495,16 @@ class PageAllTags extends Page } } +class PageAllLanguages extends Page +{ + public function InitializeContent () + { + $this->title = localize("languages.title"); + $this->entryArray = Language::getAllLanguages(); + $this->idPage = Language::ALL_LANGUAGES_ID; + } +} + class PageCustomDetail extends Page { public function InitializeContent () @@ -522,6 +539,17 @@ class PageTagDetail extends Page } } +class PageLanguageDetail extends Page +{ + public function InitializeContent () + { + $language = Language::getLanguageById ($this->idGet); + $this->idPage = $language->getEntryId (); + $this->title = $language->name; + list ($this->entryArray, $this->totalNumber) = Book::getBooksByLanguage ($this->idGet, $this->n); + } +} + class PageAllSeries extends Page { public function InitializeContent () @@ -648,6 +676,8 @@ abstract class Base const PAGE_ALL_CUSTOMS = "14"; const PAGE_CUSTOM_DETAIL = "15"; const PAGE_ABOUT = "16"; + const PAGE_ALL_LANGUAGES = "17"; + const PAGE_LANGUAGE_DETAIL = "18"; const COMPATIBILITY_XML_ALDIKO = "aldiko"; diff --git a/index.php b/index.php index 681455a..801c5ed 100644 --- a/index.php +++ b/index.php @@ -12,6 +12,7 @@ require_once ("author.php"); require_once ("serie.php"); require_once ("tag.php"); + require_once ("language.php"); require_once ("customcolumn.php"); require_once ("book.php"); @@ -173,7 +174,8 @@ - + +