Alex Cabal
b167f7dabb
Remove National Museum in Warsaw as an approved source
2024-11-11 14:48:09 -06:00
Alex Cabal
a5bd5d18ad
Clarify comments in PropertyFromHttp trait
2024-11-11 14:22:25 -06:00
Alex Cabal
d4c7703cf0
Restructure how incorrect ebook URLs are redirected
2024-11-11 13:59:45 -06:00
Alex Cabal
d6a2bdcbc8
Make MARC roles an enum and restructure how contributors are fetched from the DB to reduce queries
2024-11-11 12:01:53 -06:00
Alex Cabal
db35e380c0
Fix newsletter type hints
2024-11-11 11:21:28 -06:00
Alex Cabal
b7b63a4be5
Refactor functions out of Library
2024-11-10 23:05:31 -06:00
Alex Cabal
1449148989
Switch logged in user to static typed variable instead of in $GLOBALS
2024-11-10 23:05:31 -06:00
Alex Cabal
acb30b897c
Add PropertyFromHttp trait and update codebase to use new pattern
2024-11-10 22:23:43 -06:00
Alex Cabal
c35c47b793
Add DateTimeFormat enum
2024-11-08 16:41:15 -06:00
Alex Cabal
be5574eaec
Move enums into their own namespace
2024-11-08 16:34:21 -06:00
Alex Cabal
c3c588cc1b
Add more type hints and work on some code formatting
2024-11-08 14:20:06 -06:00
Alex Cabal
06b82cdaaa
Fix broken updated timestamps in OPDS feeds, and fix and add some type hints.
2024-11-08 12:43:47 -06:00
Alex Cabal
d03d9782d1
Fixes for PD Day placeholder ebooks
2024-11-07 20:15:20 -06:00
Alex Cabal
a8e381b2a5
Add more PD day 2025 books
2024-11-07 19:13:59 -06:00
brendan
5966657b1b
Fix typo
2024-11-05 15:59:55 -06:00
Alex Cabal
274605a0e8
Fix incorrect filesystem determination and simplify hash calculation
2024-11-05 14:04:56 -06:00
Alex Cabal
163ada3b09
Add placeholders for public domain day ebooks
2024-11-04 21:17:09 -06:00
Mike Colagrosso
0138b19000
Make Artwork robust to EbookNotFoundException
...
This probably means the Ebook is unreleased, but the artwork page can still show the EbookUrl.
Found this error during testing of the ebook DB here:
https://github.com/standardebooks/web/pull/401#issuecomment-2450588117
2024-11-04 13:16:56 -06:00
Mike Colagrosso
7e67e108f3
Update some comments
2024-11-04 13:16:56 -06:00
Mike Colagrosso
79533398ef
Add anchor to the start of preg_match()
...
Should have added these with bf631682
2024-11-04 13:16:56 -06:00
Mike Colagrosso
19032b0bc2
Clarify EBOOK_SINGLE_PAGE_SIZE_WARNING
2024-11-04 13:16:56 -06:00
Mike Colagrosso
65d1dcdd88
Use the NOW
constant from eec7971
2024-11-04 13:16:56 -06:00
Mike Colagrosso
df8eac6f82
Rename GitCommit::FromLogLine and have it accept the full line
2024-11-04 13:16:56 -06:00
Mike Colagrosso
e9cf55b53f
Remove EbookSource::FromTypeAndUrl()
2024-11-04 13:16:56 -06:00
Mike Colagrosso
6bec232d37
Remove checks against EBOOK_EARLIEST_CREATION_DATE
2024-11-04 13:16:56 -06:00
Mike Colagrosso
432723eafe
Correct return type and typo in GetUrl()
2024-11-04 13:16:56 -06:00
Mike Colagrosso
d22bdc0099
Remove use of Safe\sprintf
2024-11-04 13:16:56 -06:00
Mike Colagrosso
c8e6524ef2
Remove primary key TocEntryId
...
Add a SortOrder column to order the TocEntries instead.
2024-11-04 13:16:56 -06:00
Mike Colagrosso
2eb7fef027
Remove primary key GitCommitId
...
The table already has a Created column, and that's the column we use to sort on.
2024-11-04 13:16:56 -06:00
Mike Colagrosso
3f3cf702b2
Remove primary key ContributorId
...
`Ebook` to `Contributor` is one to many, and we don't query by ContributorId.
The table already has a SortOrder column, and we use that to order the queries.
2024-11-04 13:16:56 -06:00
Mike Colagrosso
1076c9a77d
Remove primary key EbookSourceId
...
There is a one to many relationship between `Ebook` and `EbookSource`, and we
don't query by `EbookSourceId`. We add a `SortOrder` column to keep the sources
in the same order as specified in `content.opf`.
2024-11-04 13:16:56 -06:00
Mike Colagrosso
4e8ba5ddaa
Remove primary key EbookTagId
...
Add a SortOrder column so that tags are presented in the same order as listed in content.opf.
2024-11-04 13:16:56 -06:00
Mike Colagrosso
b4b6fde778
Remove primary key EbookLocSubjectId
...
Add a SortOrder column to keep the LocSubjects in the same order as given in content.opf.
2024-11-04 13:16:56 -06:00
Mike Colagrosso
cada95383f
Remove primary key CollectionEbookId
...
Add a SortOrder to preserve the order of the collections listed in content.opf for ebook.php, e.g., for To the Lighthouse:
№ 15 in the Modern Library’s 100 Best Novels set.
Part of the Encyclopædia Britannica’s Great Books of the Western World set.
№ 2 in the BBC’s 100 Greatest British Novels (2015) set.
2024-11-04 13:16:56 -06:00
Mike Colagrosso
4a7483411a
Remove unused reference to preg_replace
2024-11-04 13:16:56 -06:00
Mike Colagrosso
d0926370be
Add check for DuplicateDatabaseKeyException
...
when inserting into join tables EbookTags, EbookLocSubjects, CollectionEbooks
2024-11-04 13:16:56 -06:00
Mike Colagrosso
38860c4729
Rename Insert*Strings() to Create*()
...
Also rename:
Insert*() to Add*()
Delete*() to Remove*()
2024-11-04 13:16:56 -06:00
Mike Colagrosso
16c7c2ffd8
Anchor on beginning or ending in preg_match()
2024-11-04 13:16:56 -06:00
Mike Colagrosso
85307a7c7e
Standardize trim and other validation of nullable and non-nullable properties
2024-11-04 13:16:56 -06:00
Mike Colagrosso
0eaf2e8e47
Handle nullable and non-nullable validation consistently
2024-11-04 13:16:56 -06:00
Mike Colagrosso
8a61713fa4
Ebook validation: Trim properties that are present
2024-11-04 13:16:56 -06:00
Mike Colagrosso
221c2ff347
Validate Collection name
2024-11-04 13:16:56 -06:00
Mike Colagrosso
2aae231710
EbookTag validation: Trim name and check for empty string
2024-11-04 13:16:56 -06:00
Mike Colagrosso
93857641de
Clean up line breaks on DELETE statements
2024-11-04 13:16:56 -06:00
Mike Colagrosso
2378320d0c
Contributor, EbookSource, GitCommit: Move INSERT statements to Create() methods
2024-11-04 13:16:56 -06:00
Mike Colagrosso
4aefe412f9
Pass enum to Db::Query, not its value
2024-11-04 13:16:56 -06:00
Mike Colagrosso
2273367c6d
Collection validation: Pass enum to InvalidCollectionTypeException, not value
2024-11-04 13:16:56 -06:00
Mike Colagrosso
754fc0ab2b
LocSubject: Trim Name and validate Name isn't empty
2024-11-04 13:16:56 -06:00
Mike Colagrosso
5b1bb2a9f0
Change tag type from string to enum (TagType)
2024-11-04 13:16:56 -06:00
Mike Colagrosso
59eee3cc57
Explicitly set sort order for sources, contributors, and toc entries
...
This is just to avoid any future undefined behavior. The current DB table implementation returns these rows in insertion order, but it might not be wise to depend on that. Either way, the result sets of these queries are small and can be sorted quickly.
2024-11-04 13:16:56 -06:00