9cb4ecae1b
Implement watchlist emailing, but it's not tested yet.
...
We're getting there, hooray! :D
2019-12-23 18:57:52 +00:00
1602fab2c3
Correctly handle utf-8 in email_user()
2019-12-23 17:39:18 +00:00
8914bff594
Add watch item to nav more menu, and tweak messages.
2019-12-23 16:17:33 +00:00
53c6533a4c
Bugfix integration between watchlist and watchlist-edit
2019-12-23 16:09:39 +00:00
890c27be02
Bugfix new watchlist-edit action.
...
(Almost) next up: Actually sending the notifications!
2019-12-23 16:03:38 +00:00
85fb5cd6c1
Finish implementing the watchlist backend. Now to test it!
2019-12-23 15:39:28 +00:00
f7ee581709
Start working on the backend to the watchlist system, but it's not finished yet
2019-12-23 01:27:26 +00:00
167259623d
Start implementing watchlists :D
...
TODO: update the changelog
2019-12-22 14:37:20 +00:00
e4eee4e281
Fix comment typo
2019-12-15 22:38:44 +00:00
6d675fc783
Bugfix: Add missing apostrophes in stop words
2019-12-15 20:21:05 +00:00
6f4b1a62e9
Fix + weighted word support on stas-parse action
2019-12-15 20:03:04 +00:00
c80f26962e
Refactor stas_split to be more fasterererer
...
Informal testing shows that it's gone from taking ~18% of the total time
to ~4% of the total time :D
2019-12-15 17:56:56 +00:00
843f0f7ee9
Update comment
2019-12-10 01:13:51 +00:00
d53f0ed85a
Remove search::transliterate, as it has a hgue performance overhead.
...
Use search::$literator->transliterate() directly instead.
2019-12-08 21:04:59 +00:00
34fb821804
Don't load the stats index if it's not needed
2019-12-08 20:45:20 +00:00
d3e83a0aea
page_renderer: Don't generate the page list for the datalist if it's not displayed
2019-12-08 20:27:20 +00:00
8156055b5c
Improve search index write & lookup performance by implementing new arr_simple system
...
By serialising and deserialising lists of numbers with implode &
explode, we can further cut down on the json_* calls which are
reeeeeally slow.
2019-12-06 23:40:28 +00:00
60cca5a5e2
Add say hi button to firstrun wizard :D - closes #175
2019-11-24 11:50:49 +00:00
803677ba69
Add id to tags input box on page editor
2019-11-10 15:44:21 +00:00
41dc73036d
Bugfix: Include the new inverted index in wiki size calculations
2019-11-10 15:43:24 +00:00
729af8205d
Add documentation on external renderers
2019-10-26 15:19:05 +01:00
34a86dbaec
Fix insert
2019-10-26 12:27:09 +01:00
5b89e6549e
Add note to parsedown help
2019-10-26 12:24:56 +01:00
f044d25f7e
Add output_classes property to external renderer, and new .invert-when-dark class in theme
...
ABC Notation & Server-Side Latex look good naow! :D
2019-10-25 12:12:57 +01:00
657213c11c
Bugfix: Nest external rendered images inside a <p> to make them block-level
2019-10-25 00:16:08 +01:00
bba614df2f
Add setting to disallow anonymous users from invoking the external renderer on new input
2019-10-24 21:08:18 +01:00
b75ad067eb
Add file & substitution_pipe support.
...
Also use nomnoml in SVG mode instead of nomnoml-cli, because the latter
is a pain to build.
2019-10-24 20:13:03 +01:00
0744498570
Bugfix: Clean up correctly if the external renderer burps
...
This is especialyl important for the exteernal renderer cache directory,
which is assumed to contain exclusively valid rendered outputs.
2019-10-21 00:41:14 +01:00
b7cb9741de
Implement backend. That went better than expected!
...
We should test it thoroughly to make sure it functions as expected.
2019-10-21 00:31:18 +01:00
fe4071fe05
Add setting to disable external renderer support
2019-10-20 22:00:52 +01:00
9d2be94f64
Start writing backend ext_renderer, but it's not finished yet.
2019-10-20 21:54:00 +01:00
6d19af2e1b
Refactor errorimage into core & greatly improve it
2019-10-20 21:42:13 +01:00
ca6546677b
Add initial external diagram renderer support, but we are missing the backend.
2019-10-20 20:54:50 +01:00
209122fabd
Style code blocks (todo: test them in light mode)
2019-10-20 18:05:57 +01:00
30cbca1b13
Remove debug statement
2019-10-20 17:53:21 +01:00
bdd2449ab5
Add automatic heading id if you don't specify one
2019-10-20 16:44:32 +01:00
a0d28c280f
Bump version of modules
2019-10-20 16:01:13 +01:00
ab033c7fd3
Bugfix: Fix internal theme reset button
2019-10-20 01:25:02 +01:00
cc5f7561b0
Add reset to internal default theme button, but there's some weirdness going on.
2019-10-20 01:19:35 +01:00
6213a6e715
Refactor login code a bit to reduce nesting
2019-10-07 18:19:48 +01:00
d6d89e3d9f
Implement initial theme update UI logic.
...
Looks like we have Unicode issues though :-/
2019-10-07 17:14:28 +01:00
4f5a81f65b
Add confirmation before gallery HTTP requests
2019-10-07 16:43:35 +01:00
6696e90d9c
[theme gallery] Finish implementing theme_update(), but it's untested
2019-09-29 16:18:03 +01:00
a239f5c044
Add alteration warning to theme gallery above change theme button
2019-09-29 15:43:03 +01:00
988038f599
Add link to theme gallery in master settings
2019-09-29 15:42:48 +01:00
6f4d47b2bb
Update credits again
2019-09-21 21:20:22 +01:00
9b1f441898
Add @SeamFromIT to the credits
2019-09-21 21:19:55 +01:00
aea1255f10
Bugfix: Return correct type in StorageBox::delete()
2019-09-21 21:05:14 +01:00
8d9491cb55
Bugfix: Fix footnote rendering (thanks again, @SeanFromIT!)
2019-09-21 11:35:50 +01:00
c8aa3b8692
Bugfix: Revision counters for new pages didn't tick upwards
2019-09-19 08:59:29 +01:00
f7943365d5
Squash warnings from file_get_contents in the peppermint.json access check
2019-09-18 11:28:47 +01:00
2198755af8
Add secret GET param to debug action
2019-09-11 20:21:21 +01:00
157c6dabdd
If it's a list of strings, then it should be sorted correctly.
2019-09-03 18:16:01 +01:00
29c62c4bbf
Bugfix: Support uncode when sorting all tags
2019-09-03 13:16:52 +01:00
80cdb40fb2
Sort page lists in list-tags action
2019-09-03 13:14:22 +01:00
e570427469
Document new theme_update() function
2019-09-01 21:20:10 +01:00
e708220bc6
Implement some theme update logic, but it's unfinished.
2019-09-01 21:18:14 +01:00
f4275373d9
Update parsedown
2019-08-30 13:29:15 +01:00
0427f8818f
Mess with adding parsedown extreme, but it's not finished yet
2019-08-29 00:15:19 +01:00
eb551708b5
Fix theme gallery submission system
2019-08-26 21:00:38 +01:00
a606dbdc2d
Style the new theme gallery
2019-08-26 16:31:30 +01:00
e85f480e63
Sort themes before display
2019-08-26 15:48:37 +01:00
c96e3108aa
Set user agent string when making requests
2019-08-26 15:27:24 +01:00
26c3a4d0a2
Wire the theme index into the gallery ui, but it's still untested.
...
Part of #5 .
2019-08-26 13:16:13 +01:00
98c94a2b59
Start working on theme index, but screenshotting isn't finished yet
2019-08-25 18:12:08 +01:00
2fa867e6ef
Bump page-help version
2019-08-24 21:56:02 +01:00
f160a82063
Add note to search page linking to query syntax on help page
2019-08-24 20:47:41 +01:00
dc63d98925
Add table of contents to help page
2019-08-24 20:05:06 +01:00
da5b3a5df8
Do some documentation work, and add missing help sections
2019-08-24 19:56:14 +01:00
e773e36de5
Tweak stas-parse action output
2019-08-23 01:29:11 +01:00
632375417d
Add apiDoc comment
2019-08-23 01:27:35 +01:00
e6ba31df23
Add debug stas-parse action
2019-08-23 01:24:17 +01:00
276b4c808f
Add STAS parsing to query-searchindex output
2019-08-23 00:51:39 +01:00
4d51ae924e
Fix intitle: & intags: syntax - game, set, match.
2019-08-22 22:23:30 +01:00
9505e0653e
Fix some mroe odd bugs in the new search system
2019-08-22 22:11:09 +01:00
edf1be5801
Fix a *huge* number of bugs in the new search system, but it's not ready just yet
2019-08-22 21:38:17 +01:00
e08e775d98
Finish refactoring invindex_query
2019-08-22 17:43:14 +01:00
b93dd3d9cc
Start refactoring query_invindex & rename it to invindex_query
...
....but of course it's not finished yet. We're doing well, but there are
a few thorny issues to go.
Mainly: We need to seriously optimise ids::getpagename(), 'cause we'll
need it a *lot* when we get to implementing the size, before, and after
colon : directives.
2019-08-18 21:25:48 +01:00
ce6df06817
Start refactoring the search system to use a new key-value store backend
...
....but it's not finished yet.
It should improve performance significantly when it's done & optimised,
as we won't have to load the entire search index into memory & decode it
just to perform a single query.
2019-08-18 18:52:29 +01:00
38badd3c1f
[search] Add StorageBox.php as an extra data file
...
It's time to refactor the search system to use an SQLite-backed
key-value data store. It's just a shame that something designed for this
like LevelDB / RocksDB doesn't have a PHP package that we can use :-/
We can always switch later, I suppose.
2019-08-17 20:47:51 +01:00
7088990027
Minor code formatting
2019-08-17 01:19:04 +01:00
5609506def
minor formatting
2019-08-16 01:14:38 +01:00
127270ff89
Bugfix: Correct search query performance metrics
2019-08-15 23:46:23 +01:00
ddc36bf48e
Remove commented code
2019-08-15 23:17:33 +01:00
0a5ba3ff59
Improve search invindex alteration performance
...
This will be especially noticable when using invindex-rebuild
2019-08-15 23:06:06 +01:00
a67b67817f
[upload] Make comments serenata-compatible
2019-08-15 22:55:50 +01:00
bc0c5de9e7
Merge branch 'master' of github.com:sbrl/Pepperminty-Wiki
2019-08-14 01:19:11 +01:00
425203e0ec
Smal comment update.
...
Be the first to check out the new STA system in development!
https://repl.it/@sbrl/Peppermint-STAS
STAS: Search Term Analysis System
It's currently being tested externally, before being folded into
Pepperminty Wiki itself. Want a feature that's currently missing? Get in
touch!
2019-08-14 01:18:53 +01:00
411d03da27
[apidoc] Bugfix @apiVersion directives
2019-08-09 12:44:22 +01:00
a12e00ef73
typo in comment
2019-08-08 18:36:51 +01:00
b6a986a075
[apidoc] @since -> @apiVersion
2019-08-08 18:32:24 +01:00
2c474b3ec5
[apidoc] Bugfix: correct typo
2019-08-08 18:29:49 +01:00
7df4c51834
Add download button for unsupported file types
2019-06-01 21:37:35 +01:00
02bc1ea7a2
Implement initial pdf preview
2019-06-01 20:25:44 +01:00
a5572bcbd4
Squash a warning when uploading a file
2019-06-01 19:57:03 +01:00
712e95474c
Minify the pageindex by default, but also add a setting to control this
2019-06-01 15:55:48 +01:00
fb25845d8c
file upload: fix help text
2019-05-24 21:50:27 +01:00
f14fd23da5
Add force-redirect to firstrun action, and option to disable access check (NOT RECOMMENDED)
2019-05-11 22:52:55 +01:00
a49ccccbcc
Handle pre-existing wikis
2019-05-11 15:39:55 +01:00
0333c1a4d4
Check if peppermint.json is accessible from the web
2019-05-11 13:06:19 +01:00
cc82adf23d
firstrun: Fix filter_var call
2019-05-11 12:54:09 +01:00
215c0d41ef
Require the site secret to use the first-run installer
2019-05-11 12:51:22 +01:00
1dc0438a18
Work more on the first-run installer, but it's not finished yet
2019-05-11 12:45:02 +01:00
e37541d606
Add a more obvious link to the user table at the top of the master settings page
2019-05-11 12:44:28 +01:00
1367641b58
Bugfix: Fix crash when trying to access the user table when not logged in as an admin.
...
Thanks, @Gert-dev for php-ide-serenata!
2019-05-11 12:41:43 +01:00
0e8a27e7f7
Improve comments
2019-05-11 12:13:06 +01:00
a25767432a
Add todo
2019-05-11 00:35:47 +01:00
1d6409128d
Start work on a simpler first-run wizard, but it's not finished yet.
...
Hopefully this one will be more successful than the last attempt :P
2019-05-11 00:35:17 +01:00
50efd4bb49
Bump versions
2019-05-06 23:48:34 +01:00
4e801c4692
Bugfix: Consolidate user->email & user->emailAddress.
...
Also add an auto-migrator on login.
Fixes #167
2019-05-06 23:44:38 +01:00
f3d797695e
Bugfix: Don't crash when updating stats if no pages have any tags yet
2019-05-06 20:31:08 +01:00
c177b66b42
Bugfix: Don't throw a warning if the search index doesn't exist yet
2019-05-06 20:22:36 +01:00
017281375d
Bugfix: Return templates as rawHtml instead of text to avoid double-escaping rendered html
2019-03-02 22:07:58 +00:00
3dcb8b5b1e
Update parser engine to handle comments as untrusted
2019-03-02 21:59:50 +00:00
4f9f1a6cf9
Add support for core sharding to build script
2019-03-02 21:13:41 +00:00
4de995761d
Fix a bunch of serenata errors
2019-03-02 13:49:12 +00:00
d6c56feb1d
Download extra files in the pseudo-module_register(), and then pack 'em in the packer
2019-03-02 13:32:12 +00:00
501d6a1c9c
Assume that the extra data directory exists in modules.
...
We can get the module registration system to automatically prepare the
requested files
2019-03-02 13:04:30 +00:00
7cd57c894f
Use a clever hack to get the file descriptor of the ZipArchive and peel the data out.
...
Not sure if it'll work yet though, as we've run into a bit of a snag
with the module loading.....
2019-03-02 12:24:11 +00:00
e93417f171
Start working on a new extra_data system, but it's not finished yet.
...
Warning: Everything's broken! If you want to use the latest master, please use the commit before this one.
2019-02-26 23:01:09 +00:00
a3330829cb
Bump module versions & go over documentation comments
2019-02-10 23:18:34 +00:00
0f79a8ec13
Bugfix new cache id system
2019-02-10 23:08:16 +00:00
a5563bb458
Add title to internal links, and refactor page cache id generation
2019-02-10 23:01:01 +00:00
97c9fdbda9
Bugfix: Link to user pages correctly in the recent changes feed
2019-02-03 16:35:38 +00:00
d51c3f163f
Bugfix: Include uploaded files when exporting
2019-01-31 21:41:13 +00:00
dc860acfd3
Tidy up page-view module code
2019-01-30 21:34:24 +00:00
1cb30b28ca
Bugfix & put page_renderer::add_header_html to use
2019-01-27 23:12:39 +00:00
5b670f5981
Refactor method names in page renderer
2019-01-27 22:56:51 +00:00
1765f410e6
[recent-changes] Add new page size & size difference
2019-01-24 23:54:27 +00:00
91a9c44b8f
Bugfix: Don't throw warnings if interwiki links aren't configured
2019-01-24 23:47:43 +00:00
14a7040646
Advertise recent changes alternate formats
2019-01-24 21:15:23 +00:00
524efcc43d
Add helpful comment for the future
2019-01-24 20:56:25 +00:00
33153094b1
Bugfix find_revisionid_timestamp
2019-01-24 20:51:23 +00:00
5da517fbe1
Bugfix recent changes atom feed
2019-01-24 20:47:16 +00:00
96b632ff56
Recent changes: Implement atom feed. Untested!
2019-01-24 20:30:20 +00:00
242f197ccf
Add offset & count to recent-changes action
2019-01-24 18:25:10 +00:00
e715c2049f
Add CSV support to the recent-changes action
2019-01-24 18:18:20 +00:00
a541a0cac0
Add more to interwiki links help section
2019-01-05 22:13:42 +00:00
79ee2455e9
Fill out interwiki help section
2019-01-05 22:11:28 +00:00
08a0cf2c2e
Formatting
2019-01-05 21:44:24 +00:00
3592a132e9
Fix a bunch of bugs with the new interwiki module
2019-01-05 21:28:47 +00:00
fafd5f6f03
Bugfix: Insert missing $ sign
2019-01-05 17:55:59 +00:00
4cb1abb231
Change {{{@}}} to output a message instead of not parsing at all
2019-01-05 17:51:51 +00:00
ba324ed814
Document the internal link syntax.
...
Next up: Testing it all I think!
2019-01-05 17:48:27 +00:00
76263f770c
Make interwiki_* functions not crash if the interwiki index hasn't been configured yet
2019-01-05 17:10:46 +00:00
4bf7881e5c
[parser] Simplify code by removing if statement
2019-01-05 16:23:12 +00:00
08ff3772b3
Add is_interwiki_link method
2019-01-05 13:04:52 +00:00
075b2e0966
Create initial interwiki link API.
...
New functions:
- interwiki_pagename_parse
- interwiki_pagename_resolve
- interwiki_get_pagename_url
2019-01-03 22:34:55 +00:00
8a07cee077
Fix build error
2019-01-03 20:46:31 +00:00
9f7d044bf4
Throw not implemented exception
2019-01-02 23:58:13 +00:00
f9995072e1
Start writing interwiki module, but it's not finished yet
2019-01-01 18:53:30 +00:00
77112ec7d3
Bump version & update changelog
2018-10-31 16:38:56 +00:00
3a2d74227d
Bugfix: Set the history revision number 0 if no previous revisions exist
...
(Thanks again, @tspivey!)
2018-10-31 16:36:37 +00:00
e0278bb5fd
Add credit to @tspivey for more bug reports
2018-10-31 15:10:13 +00:00
f69c74fcd0
It's time for v0.17! 😺 🎆
2018-10-20 17:25:12 +01:00
197d065266
Restrict new hidden hash-cost-test action to moderators or better
2018-09-30 14:50:35 +01:00
57ec8b82b5
Bugfix: Fix inadvertent cost-climbing when recalculating the password hashing cost
2018-09-30 14:47:54 +01:00
a235a99ff3
Bugfix: Pressing enter in the tag box now previews again
2018-09-30 11:35:41 +01:00
c7d7de3d7e
Don't include semicolons in greedy internal links
2018-09-29 23:40:23 +01:00
39098ac0fb
Display an ellipsis at the beginning of a search context if it doesn't start at the beginning of a page
2018-09-29 13:32:17 +01:00
24775724d1
Bugfix: Correctly calculate the end offset of search context snippets
2018-09-29 13:27:17 +01:00
284b404946
Typos in comments
2018-09-12 21:27:51 +01:00
b613d2b2dc
Add moar icons to nav & more menus
2018-07-03 12:54:57 +01:00
3581cc1437
Handle reversions in recent changes - for #78
2018-07-03 12:28:01 +01:00
b31301be38
Implement history_max_revisions
setting
2018-07-03 12:15:16 +01:00
819489a7fb
Bugfix: Correct is logged in check when restoring page revisions
2018-07-03 11:57:53 +01:00
6e7698b4a9
Bugfix: Display all revisions on page history page
2018-07-03 11:54:54 +01:00
fffadb829a
Add history-revert action, but it isn't tested yet.
2018-07-02 23:44:10 +01:00
2853cf4da5
Add link to user table on credits page
...
Also fix a typo in the API status module description
2018-07-02 12:23:11 +01:00
10b374871f
Improve image caption help text
2018-07-01 20:56:08 +01:00
0e3104415a
Add random_page_exclude_redirects setting - fixes #159
2018-07-01 13:33:42 +01:00
31d555f482
Bump version of search module
2018-07-01 12:14:06 +01:00
1f6f780177
Restyle matching tags in search results
2018-06-30 11:46:07 +01:00
8955d6d131
Save the character offset, not the token offset in the inverted index
2018-06-30 11:19:38 +01:00
cdee30c286
Add $capture_offsets option to tokenize().
...
TODO: Utilise this in the indexer & update the changelog mentioning that
_all_ inverted indexes will need to be rebuilt
2018-06-30 00:08:57 +01:00
8403ffd5c3
Bugfix: Increment $i when we hit a stop word when indexing.
...
There's also another bug here - in that the offsets generated contain
are the index in the array of tokens, when we need it to be the index in
the source text!
2018-06-29 23:51:10 +01:00
9d7a21e993
Format the index action nicely
2018-06-29 12:08:38 +01:00
19e49777b2
Search System; Don't bother getting a page's id if we don't need to
2018-06-26 14:28:11 +01:00
3d3b6c491a
Seriously optimise the search system via some profiling.
2018-06-26 14:15:19 +01:00
67648199d7
Add search time header for analysis purposes
2018-06-26 00:11:01 +01:00
75b6b6c55f
Optimise the search context extractor, but evediently there's more work to be done.
2018-06-26 00:06:20 +01:00
93494b6729
Transliterate in the suggest-pages action too
2018-06-25 23:03:00 +01:00
49b91aa6f9
Search: Transliterate characters so you don't have to remember the diacritics when searching
2018-06-25 22:53:53 +01:00
707d1c6853
Add moar docblock comments
2018-05-25 12:07:51 +01:00
b6eda24ada
Implement user deleting
2018-05-15 23:25:39 +01:00
f7f408280f
Add nice title comment :D
2018-05-15 19:40:46 +01:00
4e9882d6dd
Bugfix user table unauthorised message
2018-05-15 19:38:32 +01:00
8927674b5a
Add apidoc comments for new usertable actions
2018-05-15 19:32:45 +01:00
b4a25438d5
Add set-password action
2018-05-15 19:28:26 +01:00
b367ef42b0
Fix typo
2018-05-15 17:59:43 +01:00
f95e482d85
Link to usertable in guiconfig
2018-05-13 23:37:26 +01:00
5961d11e76
Make sure the user actually exists before checking their password
2018-05-13 17:13:25 +01:00
2339505194
Finish user-add implementation, but it's not tested yet
2018-05-12 17:25:26 +01:00
269fa8f83c
Validate the new user's username & email address
2018-05-11 23:41:25 +01:00
f8b6e38b97
Start creating the user table
2018-05-11 23:29:43 +01:00
4abe3ecc29
Update the user preferences to support the new password hashing system
2018-05-11 11:41:40 +01:00
62dff18b4d
Comment verify_password
2018-05-11 11:36:29 +01:00
c64aaa72db
Bugfix the login system changes. It works!
...
The issue was actually in that I hadn't created a password_verify
wrapper
2018-05-11 11:34:57 +01:00
d5b37e3ec0
Bugfix sessionprefix and password hashing, but it's still not working right.
2018-05-11 00:18:21 +01:00
ae8412ddaf
Bugfix automatic password hash recalculation
2018-05-10 23:59:41 +01:00