Alex Cabal
124e8343fc
Completely type hint template functions and switch to named arguments
2025-03-04 20:32:20 -06:00
Alex Cabal
99b5fd66f2
More type fixes
2025-02-26 15:17:08 -06:00
Alex Cabal
9d1b66d19e
Update PHPStan and Safe PHP, and review codebase for further type correctness
2025-02-25 22:41:18 -06:00
Mike Colagrosso
55e0428006
Add a Default
EbookSortType
...
This allows the user to run a keyword search and then change the sort
order. `Default` is interpreted as `Relevance` if a query is present,
`Newest` if not.
2025-02-13 13:48:39 -06:00
Mike Colagrosso
1a71913794
Add a Relevance
sort order and improve search
...
Here's what's in `IndexableText` right now:
1. Title
2. Collections
3. Authors
4. Tags
5. LocSubjects
6. TocEntries
Here is the proposed new ranking:
```
10 * Title +
8 * Authors +
3 * Collections +
IndexableText
```
New indices for existing DBs:
```
ALTER TABLE `Ebooks` ADD COLUMN `IndexableAuthors` text NOT NULL;
ALTER TABLE `Ebooks` ADD COLUMN `IndexableCollections` text NULL;
ALTER TABLE `Ebooks` ADD FULLTEXT `indexSearchTitle` (`Title`);
ALTER TABLE `Ebooks` ADD FULLTEXT `idxSearchAuthors` (`IndexableAuthors`);
ALTER TABLE `Ebooks` ADD FULLTEXT `idxSearchCollections` (`IndexableCollections`);
```
2025-02-13 13:48:39 -06:00
Alex Cabal
0105bfefa4
Tweak donation banners and some type safety
2025-01-06 13:25:02 -06:00
Alex Cabal
1cb4cbfe24
Redirect ebook searches for only one tag to the /subjects/<TAG endpoint
2025-01-05 13:52:09 -06:00
Mike Colagrosso
1ab95df084
Add placeholders for ebooks
2024-12-13 11:46:36 -06:00
Alex Cabal
3050ab7219
Use HTTP code enums instead of ints
2024-11-20 14:52:05 -06:00
Alex Cabal
8546039b97
Comment formatting
2024-11-15 21:40:56 -06:00
Alex Cabal
b7b63a4be5
Refactor functions out of Library
2024-11-10 23:05:31 -06:00
Alex Cabal
be5574eaec
Move enums into their own namespace
2024-11-08 16:34:21 -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
Alex Cabal
19cf14c1aa
Add automatic donation drives
2024-10-17 11:58:25 -05: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
Alex Cabal
a9eab552ab
Flesh out some PHPDocs, and consistently name enums
2024-05-14 15:40:56 -05:00
Alex Cabal
110c091a7b
Define some constants to make HTTP input code less wordy
2024-05-12 12:29:30 -05:00
Alex Cabal
ee7c8343dd
Convert some constants to enums
2024-05-11 21:51:06 -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
8cc661015c
Add enum for view type and fix some type hints
2024-05-08 11:22:28 -05:00
Alex Cabal
7c8463d297
Add <link rel="canonical"> to some pages
2024-05-08 11:01:18 -05:00
Mike Colagrosso
0ed064c8f0
Move single collection view to collections/get.php
2024-02-05 13:51:51 -06:00
Mike Colagrosso
d95d9b3349
Refactor Library::FilterEbooks and Template::SearchForm to accept EbookSort
2024-01-30 11:10:05 -06:00
Alex Cabal
ca3fc6dbfd
Refactor HttpInput::Str and rename some exceptions for consistency
2024-01-18 11:21:05 -06:00
Alex Cabal
f7ff76bf7d
Rename some Formatter functions for clarity
2024-01-17 16:04:30 -06:00
Alex Cabal
8a82524de7
Change artwork list to grid view
2024-01-09 11:19:36 -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
042816cf45
Use auto_prepend_file INI directive to prepend Core.php to all web requests automatically
2023-07-15 15:17:20 -05:00
Alex Cabal
8127f0c7e2
Remove unused exception variables, now that this is possible with PHP8
2023-06-06 21:00:12 -05:00
Mike Colagrosso
e2dd256edc
Add a /collections endpoint
2023-02-16 18:26:34 -06:00
Alex Cabal
04759aa17b
Add size warning when single-page download is larger than 1MB
2023-01-13 16:42:57 -06:00
Alex Cabal
fe247568bb
Fix some PHPStan errors
2022-07-24 19:33:32 -05:00
Alex Cabal
4dea56407e
Add RSS links to page headers for collections and authors
2022-07-19 15:27:01 -05:00
Alex Cabal
dc0e873577
Add feed/download toolbar to author and collection indexes
2022-07-12 10:24:41 -05:00
Alex Cabal
45221365b5
More work on bulk downloads
2022-07-10 14:48:58 -05:00
Alex Cabal
7f50f00b42
work
2022-07-10 00:55:24 -05:00
Alex Cabal
76a4c34688
Move items out of the 'patrons-circle' folder into the root
2022-07-09 20:09:40 -05:00
Alex Cabal
12b79b5dcd
Split bulk downloads into file type and cache output
2022-07-09 20:09:40 -05:00
Alex Cabal
011cd747f1
Convert newsletter to use Users table as base
2022-07-04 12:09:49 -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
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
e5c2e0d5fc
Add grant giveaway donation dialog
2022-05-09 15:45:31 -05:00
Alex Cabal
b0197d189a
Add newsletter management functionality
2022-03-20 17:46:47 -05:00
Alex Cabal
bbe89b0baf
Add donation drive scaffolding
2022-02-15 20:43:19 -06:00
Alex Cabal
3c2819081d
Better exception matching
2022-01-08 19:59:33 -06:00
Alex Cabal
cca85f997b
Fix broken tag URLs for tags with dashes in them
2021-03-14 10:55:32 -05:00
Alex Cabal
faad55ed1f
Show donation alert 25% of the time on ebook detail pages
2021-01-13 16:13:58 -06:00
Alex Cabal
9d8ee504e2
Update some titles for SEO
2021-01-08 17:50:42 -06:00