Alex Cabal
9d1b66d19e
Update PHPStan and Safe PHP, and review codebase for further type correctness
2025-02-25 22:41:18 -06:00
Alex Cabal
e2e14a3551
Remove DbConnection class in favor of fully-static and typed Db class
2025-02-25 16:47:25 -06:00
Mike Colagrosso
a3ce3f1ec1
Make IndexableText optional
...
Placeholders do not have FullTitle, AlternateTitle, Tags, LocSubjects,
or TocEntries.
2025-02-13 13:48:39 -06:00
Mike Colagrosso
61bbf8f071
Add idxSearchCombined
to match multiple fields
...
The data in these fields are separate:
* `IndexableText`
* `Title`
* `IndexableAuthors`
* `IndexableCollections`
There are also on indices on each of these fields so that they can have
separate weight in the relevance scoring.
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
932ce2b2b1
Add ebook redirect
2025-02-03 15:42:06 -06:00
Alex Cabal
6378d687d8
Add 'awaiting review' and 'reviewed' project statuses that update from GitHub; allow project owners to update their project statuses
2025-01-27 15:52:21 -06:00
Alex Cabal
b48f3a5798
Improve honeypot link
2025-01-27 10:49:44 -06:00
Alex Cabal
c1e8e83cfb
Block some leechers in Apache config
2025-01-25 14:13:49 -06:00
Alex Cabal
37aaa97b66
Brower compatibility for ::before alt text
2025-01-19 13:28:45 -06:00
Alex Cabal
8f2df6ac12
Fix broken Apache config
2025-01-18 17:32:38 -06:00
Alex Cabal
bdeebc8291
Add endpoint to get collections for an ebook or placeholder
2025-01-15 14:32:50 -06:00
Alex Cabal
bc16b1fff8
Add endpoint to get reviewer for an in-progress project
2025-01-07 21:42:51 -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
Alex Cabal
99508cc490
Correctly return 404 instead of 403 for ebooks with spaces in the URL
2025-01-05 13:27:35 -06:00
Mike Colagrosso
dad5df0059
Add index on EbookId
...
There are several queries that join the `Projects` and `Ebooks` tables.
An index speeds up those joins.
2025-01-02 09:57:45 -06:00
Mike Colagrosso
5c8315e6ff
Add new indices for deleting unused records
2024-12-31 22:31:00 -06:00
Alex Cabal
616b9677a9
Fix donation progress bar
2024-12-30 22:04:09 -06:00
Alex Cabal
8e8cbb0c5e
Move delete form and more multi select fixes
2024-12-19 14:40:38 -06:00
Alex Cabal
93b8008c7e
Add missing MultiTableSelect code
2024-12-19 14:25:48 -06:00
Alex Cabal
4596aeb007
Allow projects to auto-assign managers and reviewers
2024-12-18 20:57:21 -06:00
Alex Cabal
b2191d1219
Allow editing of projects
2024-12-18 14:20:28 -06:00
Mike Colagrosso
f449c024ea
Add /edit endpoint to update placeholders
2024-12-18 12:58:18 -06:00
Alex Cabal
7a3c7ad503
Allow VCS URLs to be null in projects
2024-12-16 21:48:01 -06:00
Alex Cabal
d902074285
Add new project form, and allow projects to be created when attempting to create a placeholder that already exists.
2024-12-16 21:27:45 -06:00
Alex Cabal
8e6b05a150
Fix typos
2024-12-16 15:49:18 -06:00
Alex Cabal
051e286a6d
Continue fleshing out project management system
2024-12-16 15:01:22 -06:00
Alex Cabal
5782d6ca7d
Further refine projects system
2024-12-15 23:39:23 -06:00
Alex Cabal
2449de6f6c
Also check discussion threads for freshness when marking projects as stalled
2024-12-15 21:59:01 -06:00
Alex Cabal
9b9d93bc52
Automatically update in progress projects to stalled
2024-12-14 23:54:11 -06:00
Alex Cabal
c7a4e34e31
Add projects index page, and more detail on placeholder pages
2024-12-14 21:12:00 -06:00
Alex Cabal
adfe07aad9
Add beginning of a project management system to placeholders
2024-12-14 19:13:03 -06:00
Alex Cabal
e56de4b19d
Switch from EbookPlaceholder.Status to EbookPlaceholder.IsInProgress, and some type tweaks
2024-12-14 13:39:28 -06:00
Alex Cabal
1a742baa51
Add CanEditEbooks benefit and clean up some PHPStan errors
2024-12-14 11:50:16 -06:00
Alex Cabal
23b5c8ef31
Allow admin to view collection metadata
2024-12-14 11:32:02 -06:00
Alex Cabal
cb1cfc8c21
Add accounting bit to Collections table
2024-12-14 00:02:21 -06:00
Mike Colagrosso
1ab95df084
Add placeholders for ebooks
2024-12-13 11:46:36 -06:00
Alex Cabal
9a2b095b70
Allow adjustment of Patrons Circle cost
2024-12-05 14:32:46 -06:00
Alex Cabal
ab17e6af5d
Allow getting users by name
2024-12-02 10:20:36 -06:00
Alex Cabal
7557a87a37
Add redirect for old book title
2024-11-30 11:51:43 -06:00
Alex Cabal
8ad3291a35
Add admin form to view and edit users
2024-11-23 14:30:11 -06:00
Robin Whittleton
ac733df938
New short story in Tanizaki has an additional translator
2024-11-20 11:17:36 -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
b3a9d86828
Fix SQL definition
2024-11-11 11:21:21 -06:00
Alex Cabal
ec0b81817d
Restructure some files to match new URL structure
2024-11-11 11:17:04 -06:00
Alex Cabal
b340c55460
Move Apache rewrites into separate files
2024-11-11 11:06:04 -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
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
Mike Colagrosso
312e2105ec
Change Created datetime to timestamp to match 88c3049
2024-11-04 13:16:56 -06:00