diff --git a/lib/Constants.php b/lib/Constants.php
index fb12764a..a36fc8f9 100644
--- a/lib/Constants.php
+++ b/lib/Constants.php
@@ -31,6 +31,7 @@ const SOURCE_DP_OLS = 5;
const SOURCE_OTHER = 6;
const SOURCE_PROJECT_GUTENBERG_CANADA = 7;
const SOURCE_PROJECT_GUTENBERG_AUSTRALIA = 8;
+const SOURCE_FADED_PAGE = 9;
const AVERAGE_READING_WORDS_PER_MINUTE = 275;
diff --git a/lib/Ebook.php b/lib/Ebook.php
index e34184a0..e4ed36bf 100644
--- a/lib/Ebook.php
+++ b/lib/Ebook.php
@@ -378,16 +378,16 @@ class Ebook{
// Next the page scan source URLs.
foreach($xml->xpath('/package/metadata/dc:source') ?: [] as $element){
$e = (string)$element;
- if(mb_stripos($e, '//www.gutenberg.org') !== false){
+ if(mb_stripos($e, 'gutenberg.org/') !== false){
$this->Sources[] = new EbookSource(SOURCE_PROJECT_GUTENBERG, $e);
}
- elseif(mb_stripos($e, '//gutenberg.net.au') !== false){
+ elseif(mb_stripos($e, 'gutenberg.net.au/') !== false){
$this->Sources[] = new EbookSource(SOURCE_PROJECT_GUTENBERG_AUSTRALIA, $e);
}
- elseif(mb_stripos($e, '//gutenberg.ca') !== false){
+ elseif(mb_stripos($e, 'gutenberg.ca/') !== false){
$this->Sources[] = new EbookSource(SOURCE_PROJECT_GUTENBERG_CANADA, $e);
}
- elseif(mb_stripos($e, '//archive.org/') !== false){
+ elseif(mb_stripos($e, 'archive.org/') !== false){
$this->Sources[] = new EbookSource(SOURCE_INTERNET_ARCHIVE, $e);
}
elseif(mb_stripos($e, 'hathitrust.org/') !== false){
@@ -402,6 +402,9 @@ class Ebook{
elseif(mb_stripos($e, 'www.pgdp.org/ols/') !== false){
$this->Sources[] = new EbookSource(SOURCE_DP_OLS, $e);
}
+ elseif(mb_stripos($e, 'www.fadedpage.com') !== false){
+ $this->Sources[] = new EbookSource(SOURCE_FADED_PAGE, $e);
+ }
else{
$this->Sources[] = new EbookSource(SOURCE_OTHER, $e);
}
diff --git a/www/ebooks/ebook.php b/www/ebooks/ebook.php
index de7bd75c..80997293 100644
--- a/www/ebooks/ebook.php
+++ b/www/ebooks/ebook.php
@@ -252,6 +252,7 @@ catch(\Exception $ex){
if($source->Type == SOURCE_HATHI_TRUST){ ?>Page scans at HathiTrust } ?>
if($source->Type == SOURCE_GOOGLE_BOOKS){ ?>Page scans at Google Books } ?>
if($source->Type == SOURCE_DP_OLS){ ?>Page scans at Distributed Proofreaders Open Library System } ?>
+ if($source->Type == SOURCE_FADED_PAGE){ ?>Transcription at Faded Page } ?>
if($source->Type == SOURCE_OTHER){ ?>= Formatter::ToPlainText(preg_replace(['|https?://(en\.)?|', '|/.+$|'], '', (string)$source->Url) ?? '') /* force type to (string) to satisfy PHPStan */ ?> } ?>