Mike Colagrosso
b3a173aa91
Get ebooks in a collection from DB
2024-11-04 13:16:56 -06:00
Mike Colagrosso
da68637ba0
Get list of collections from DB
2024-11-04 13:16:56 -06:00
Mike Colagrosso
4653b15288
Get ebook from DB for artworks
2024-11-04 13:16:56 -06:00
Mike Colagrosso
2098b265a8
Rename the constructor Ebook::__construct()
to static Ebook::FromFilesystem()
...
Also added `GetFoo()` methods for all the derived properties like `GetUrl()`, `GetHasDownloads()`, etc. Removed that logic from the constructor so that it's reusable in `Ebook::FromFilesystem()` and `Ebook::GetByIdentifier()`
2024-11-04 13:16:56 -06:00
Mike Colagrosso
f605a4df60
Rename Created
and Updated
in PHP code to EbookCreated
and EbookUpdated
to match the schema
2024-11-04 13:16:56 -06:00
Mike Colagrosso
572fd90fed
Replace Library::GetEbookByIdentifier with Ebook::GetByIdentifier
...
The new method throws an exception instead of returning null.
2024-11-04 13:16:56 -06:00
Mike Colagrosso
63d411a2e6
Initial code changes to insert/update Ebook records
2024-11-04 13:16:56 -06:00
Alex Cabal
eec79712fc
Use a NOW constant instead of new DateTimeImmutable objects, and tweak how some donation drive dates work
2024-10-15 22:21:12 -05:00
Mike Colagrosso
ad9bdde32d
Use array shapes in PHPDoc for FilterArtwork
2024-07-06 15:02:47 -05:00
Alex Cabal
4b796c0155
Add more type hints
2024-05-16 14:05:00 -05:00
Alex Cabal
a9eab552ab
Flesh out some PHPDocs, and consistently name enums
2024-05-14 15:40:56 -05:00
Alex Cabal
52e177b886
Add new methods to DbConnection class
2024-05-13 15:13:02 -05:00
Alex Cabal
acb6b2949f
Use static class names instead of strings when getting objects from the DB
2024-05-13 14:49:28 -05:00
Alex Cabal
70ae877dd8
Bump PHPStan check level to max and add final round of type hints
2024-05-13 10:48:05 -05:00
Alex Cabal
703e1a7a03
Continue improving type hints
2024-05-10 23:38:57 -05:00
Alex Cabal
c4c8e7353f
Enable strict exception type hint checking in PHPStan and add exception type hints
2024-05-10 20:47:36 -05:00
Alex Cabal
e55fecaaa2
Switch from DateTime to DateTimeImmutable across codebase
2024-04-13 14:05:14 -05:00
Mike Colagrosso
d95d9b3349
Refactor Library::FilterEbooks and Template::SearchForm to accept EbookSort
2024-01-30 11:10:05 -06:00
Mike Colagrosso
980ed8cea9
Convert ebook SORT_ constants to an enum
2024-01-30 11:10:05 -06:00
Mike Colagrosso
94dce1009a
Refactor Library::FilterArtwork and artworks/index.php to accept ArtworkSort
2024-01-30 11:10:05 -06:00
Mike Colagrosso
004a4a27c3
Convert SORT_COVER_ constants to an enum
2024-01-30 11:10:05 -06:00
Alex Cabal
3606a5c425
Restore missing 'order by' clause to artwork list
2024-01-29 18:32:15 -06:00
Alex Cabal
a9dcdcde94
Limit artwork results at the DB level
2024-01-28 14:04:29 -06:00
Alex Cabal
1a14a775d4
Add clarifying comment
2024-01-23 23:54:59 -06:00
Alex Cabal
cbf87487eb
Use ebook URL and not filesystem slug to identify ebooks in artworks
2024-01-23 23:11:30 -06:00
Mike Colagrosso
91ac96d784
Add status and user filtering to GetArtworksByArtist
2024-01-23 21:34:27 -06:00
Mike Colagrosso
53dc36d25a
Fix searching for words adjacent to an underscore in EbookWwwFilesystemPath
2024-01-23 13:54:41 -06:00
Alex Cabal
e3ea224256
Tweak style
2024-01-23 13:51:34 -06:00
Mike Colagrosso
93adef171f
s/GetArtworkByArtist/GetArtworksByArtist/
2024-01-23 13:46:12 -06:00
Mike Colagrosso
cad2f5f730
List artwork by artist via /artworks/<artist-name>
2024-01-23 13:46:12 -06:00
Alex Cabal
478eb200c8
Add rsquo to artwork filter query parsing
2024-01-22 13:33:27 -06:00
Mike Colagrosso
8a8692619c
Keep words with apostrophes intact when searching
...
The code will convert a search for:
`Whistler's Mother`
into:
`\b(whistler's|mother)\b`
Before this fix, it was:
`\b(whistler|s|mother)\b`
2024-01-22 09:57:33 -06:00
Mike Colagrosso
d8360b28ca
Replace PHP filtering with pure SQL ( #323 )
...
* Replace PHP filtering with pure SQL
2024-01-21 14:08:46 -06:00
Mike Colagrosso
67fcdedd08
Library::FilterArtwork(): Move sort logic to SQL, condense status condition ( #321 )
...
Move artwork sort logic to SQL
2024-01-19 23:24:22 -06:00
Alex Cabal
2b5f4f55a2
Style tweaks to artworks DB
2024-01-18 10:50:14 -06:00
Alex Cabal
5ef6d3aef8
Artwork db code tweaks, also remove 'in use' as a status
2024-01-17 16:04:11 -06:00
Mike Colagrosso
4b2e02950f
Use ArtworkStatus enums when querying, not strings
2024-01-17 12:12:25 -06:00
Mike Colagrosso
9d5daac1cd
Allow submitters to filter for their unverified artwork
2024-01-17 12:12:25 -06:00
Alex Cabal
1237a65bc8
Convert use of gmdate() to DateTime
2024-01-10 11:25:56 -06:00
Alex Cabal
783c09864f
Add type hints for remaining classes
2024-01-08 16:08:57 -06:00
Alex Cabal
b99d2aac1a
Merge admin pages with regular pages for art system
2024-01-07 15:47:40 -06:00
Alex Cabal
017baef7d3
Artwork system: More options for reviewers submitting new artwork
2024-01-07 14:03:55 -06:00
Alex Cabal
5a1c05d8c5
Add password login option for some users, and further refinements to artwork management system
2024-01-06 22:27:38 -06:00
Mike Colagrosso
6a5c05511a
Add cover art database
...
Co-authored-by: Job Curtis <job.curtis@gmail.com>
Co-authored-by: Alex Cabal <alex@standardebooks.org>
2024-01-03 19:14:04 -06:00
Alex Cabal
12cf83a843
Rename SeException class to AppException
2023-07-14 09:36:10 -05:00
Alex Cabal
8127f0c7e2
Remove unused exception variables, now that this is possible with PHP8
2023-06-06 21:00:12 -05:00
Alex Cabal
1e32a97c7d
Some tweaks to collections
2023-02-16 18:45:20 -06:00
Mike Colagrosso
e2dd256edc
Add a /collections endpoint
2023-02-16 18:26:34 -06:00
Alex Cabal
e857e4e9e6
Rebuild web caches immediately on ebook updates
2022-07-14 15:28:57 -05:00
Alex Cabal
05e0f77b45
Add collections and authors RSS/Atom/OPDS feeds
2022-07-11 18:49:11 -05:00