Commit graph

75 commits

Author SHA1 Message Date
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
Alex Cabal
c95d8c4954 Fix collection sorting in bulk downloads 2022-07-11 11:01:15 -05:00
Alex Cabal
9a72b27233 Rearrange bulk download index pages 2022-07-10 23:25:31 -05:00
Alex Cabal
45221365b5 More work on bulk downloads 2022-07-10 14:48:58 -05:00
Alex Cabal
fc1db3a3d4 Break bulk downloads into sections, add authors bulk download, and refactor bulk download generation code 2022-07-10 12:56:28 -05:00
Alex Cabal
7f50f00b42 work 2022-07-10 00:55:24 -05:00
Alex Cabal
d086ea59bd Abbreviate months in bulk download page 2022-07-09 20:35:35 -05:00
Alex Cabal
270c612fc5 Move bulk-download page generation into the Library object 2022-07-09 20:09:40 -05:00
Alex Cabal
4300619383 Normalize contents of webroot variables 2022-07-09 20:09:39 -05:00
Alex Cabal
6c8414f844 Update PropertiesBase to new patterns and improve static analysis checks 2022-06-30 13:23:05 -05:00
Alex Cabal
dbefba6b94 Change 'timestamp' properties on objects to more descriptive names 2022-06-29 17:19:28 -05:00
Alex Cabal
f6df03cfca Flesh out OPDS generation backend to be more robust and to support generic Atom feeds 2022-06-22 15:09:05 -05:00
Alex Cabal
70a80d0e02 Add system to retrieve and manage donations in a local database 2022-06-20 14:05:27 -05:00
Alex Cabal
6c267497cc Adjust how tags URLs are calculated to support tags with non-ASCII characters like 'children’s' 2022-06-18 21:17:33 -05:00
Alex Cabal
5985939cd5 Make 'more ebooks' carousel in ebook detail page show ebooks from a random tag of the current ebook 2022-04-30 13:19:02 -05:00