Commit graph

109 commits

Author SHA1 Message Date
Alex Cabal
c7a4e34e31 Add projects index page, and more detail on placeholder pages 2024-12-14 21:12:00 -06:00
Alex Cabal
90b70b3235 Refactor feed functions out of Library and add some enums 2024-11-15 21:13:35 -06:00
Alex Cabal
b7b63a4be5 Refactor functions out of Library 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
be5574eaec Move enums into their own namespace 2024-11-08 16:34:21 -06:00
Mike Colagrosso
7d8cfd351e Ebook tags: Store UrlName so it can be queried 2024-11-04 13:16:56 -06:00
Mike Colagrosso
7339255d5f FilterEbooks: Require an exact match for search 2024-11-04 13:16:56 -06:00
Mike Colagrosso
ec26e7f9af Remove Library::RebuildCache 2024-11-04 13:16:56 -06:00
Mike Colagrosso
f4a19a2d12 Replace GetEbooksFromFilesystem with a DB implementation 2024-11-04 13:16:56 -06:00
Mike Colagrosso
364a2ca78f Rename GetAllArtists to GetArtists 2024-11-04 13:16:56 -06:00
Mike Colagrosso
6c8e819316 Implement OpenSearch feed search with FilterEbooks 2024-11-04 13:16:56 -06:00
Mike Colagrosso
807e8410b4 Use array shapes in the PHPDoc
This makes the extra documentation unnecessary
2024-11-04 13:16:56 -06:00
Mike Colagrosso
989dcab9f0 Implement FilterEbooks via DB 2024-11-04 13:16:56 -06:00
Mike Colagrosso
be6873d21d Remove distinct from query in GetEbookCollections
The point of the commits in #374, e.g., the new `CollectionEbooks` table, was so that `distinct` wasn't needed.
2024-11-04 13:16:56 -06:00
Mike Colagrosso
50aa81cb29 Create a helper function for SQL set membership 2024-11-04 13:16:56 -06:00
Mike Colagrosso
44dc65005d Query Contributors table for GetEbooksByAuthor() 2024-11-04 13:16:56 -06:00
Mike Colagrosso
2d5e66f2f2 Get carousel books from the DB 2024-11-04 13:16:56 -06:00
Mike Colagrosso
402dae95ff Add a Type enum to Tags for artwork/ebook 2024-11-04 13:16:56 -06:00
Mike Colagrosso
ee29c526f8 Add a CollectionMembership class 2024-11-04 13:16:56 -06:00
Mike Colagrosso
43416e76db Get list of tags from DB 2024-11-04 13:16:56 -06:00
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