Ecosyste.ms: OpenCollective

An open API service for software projects hosted on Open Collective.

github.com/thpatch/TouhouPatchCenter

Creates a thcrap server from MediaWiki pages.
https://github.com/thpatch/TouhouPatchCenter

Add <br /> to \n replacement

3396dfa46d696c9cf9312fccbf12b16f623a980b authored about 1 year ago by Bruno Liron <[email protected]>
Merge pull request #8 from thpatch/dependabot/composer/phpseclib/phpseclib-3.0.34

Bump phpseclib/phpseclib from 0.3.5 to 3.0.34

0d5b26236894708f0cc09eecf49e1f39b234384c authored about 1 year ago by brliron <[email protected]>
Bump phpseclib/phpseclib from 0.3.5 to 3.0.34

Bumps [phpseclib/phpseclib](https://github.com/phpseclib/phpseclib) from 0.3.5 to 3.0.34.
- [Rel...

6251e6de95f5fa8239789c7ad5877b370e4fe2b1 authored about 1 year ago by dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Merge pull request #7 from DalekCraft2/master

Add some hook aliases and sort hooks

2e81be6e20da481c4916513d2651a98b9242a3ee authored about 1 year ago by brliron <[email protected]>
Update MWScrape.php

4a283ff29ed7014534cdc9d300b1252bfe25cf86 authored about 1 year ago by DalekCraft <[email protected]>
Add and sort some hook aliases

Also added all aliases to the docs at the top of each file for consistency with some other files.

59804a3030fe508309bf415b55e2a2cbdc733da2 authored about 1 year ago by DalekCraft <[email protected]>
Convert mediawiki underline to thcrap underline in translations

7f37c352604f96c29bcc05489f26a1cc50601e9a authored over 1 year ago by brliron <[email protected]>
TPCEvalThemeRedirects: only eval target pages once

d6b93b91d11f7ec57d6a84bf2496b367264bd4e0 authored over 1 year ago by Egor <[email protected]>
add EvalThemeRedirects maintenance script

e3fbe394fd710c95e5d7d1d8d06a8b6fe15f55af authored over 1 year ago by Egor <[email protected]>
fix ApiEvalTitle

21e320d45ddb829835dabe1c84352505cdc1132b authored over 1 year ago by Egor <[email protected]>
Remove stringloc hook

It have been outdated for 9 years...

28d3f5f51496495f64eaa69838eeb43e4e5f1413 authored over 1 year ago by root <[email protected]>
Merge pull request #5 from nmlgc/master

Touhou Patch Center MediaWiki 1.39.1 update commits

6b249dba2ce200b8778c999575385a281bbb30eb authored almost 2 years ago by brliron <[email protected]>
TPCStorage: Throw a more useful error when trying to merge invalid JSON.

Since some files are built from multiple wiki pages, this is better
than silently overwriting th...

2a248e533626b353589e070d0bdf130195ae9518 authored almost 2 years ago by nmlgc <[email protected]>
TPCFmtStrings: ASCII strings: //TRANSLIT requires a language locale.

`en_US.UTF-8` is probably the most commonly available one. Hardcoding
*something* really is the ...

196ae07fcabcd19b4df815bfae97d810e3886eb5 authored almost 2 years ago by nmlgc <[email protected]>
TPCFmtStrings: ASCII strings: Explicitly sanitize non-ASCII whitespace.

2583eb6d0ea74bc04d0e264895231daa3f138dc4 authored almost 2 years ago by nmlgc <[email protected]>
TPCParse: Match capitalized {{Ruby}} templates as well.

492d67cc4f79a92ec3eb6a4cf4bd268bde69459b authored almost 2 years ago by nmlgc <[email protected]>
TPCFmtMsg: Render ruby using a more robust loop.

In PHP 8, array insertion via array_splice() within a by-reference
foreach() loop seems to cause...

904f2e08da6a768d73281813d904187087444532 authored almost 2 years ago by nmlgc <[email protected]>
TPCParse: Fix {{thcrap_ver}} for multiple distinct versions within a string.

That is, restoring the original behavior I accidentally broke in
f36fcc5. For the first time, th...

3252e328be3ff9fd3608a3b156a4f08f91e8ff3b authored almost 2 years ago by nmlgc <[email protected]>
TPCFmtTheme: Update same-name redirects as well.

5b7007396f45d0ead1e680b6172777edf8e24fec authored almost 2 years ago by nmlgc <[email protected]>
TPCFmtMusic: Avoid the warning for empty comment translations.

d25fb794b813710fcdd258ac1bfb61900db2a995 authored almost 2 years ago by nmlgc <[email protected]>
TPCFmtTheme: Use TouhouThemeDB's title sanitizer.

Also fixes Music Room line breaks in lang_ja.

c092a496dc0133fbfca2a0c3a6eef50cdfc22c0d authored almost 2 years ago by nmlgc <[email protected]>
ApiBase::dieUsageMsg() → ApiBase::dieWithError() / ApiBase::dieStatus()

Deprecated in MediaWiki 1.29, removed in MediaWiki 1.32.

67b7c80b4880e8d7897bc8a93f1d430cebdcd02a authored about 2 years ago by nmlgc <[email protected]>
TouhouPatchCenter: Throw an error if a file is both upload and redirect.

Why does MediaWiki even allow this case to exist? What a piece of junk.

Turns out there is also...

1c3290c133d5af9b9402d6b0125aed39b13833dc authored about 2 years ago by nmlgc <[email protected]>
ApiEvalTitle: Remove getTokenSalt().

Removed in MediaWiki 1.24.

7bc9c27a2081f45470171594f2d29dae38e2a11e authored about 2 years ago by nmlgc <[email protected]>
Use PHP 7 Unicode character literals instead of json_decode().

Literals are roughly 14× faster on my machine.

a2dc824cd264c9a977e296ec0bd73a186545aeb3 authored about 2 years ago by nmlgc <[email protected]>
TPCTemplate: Manually cache the returned string, as forced by MediaWiki >1.35.

> when you return $variableCache[$magicWordId] should be the same as
> $ret

With our fourth dep...

52ad71b800aa2ad64959e62bfd6eef2757315f13 authored about 2 years ago by nmlgc <[email protected]>
TouhouPatchCenter: Delete patch files if their MediaWiki upload doesn't exist.

e83c9a79c4e5fce858da489f8e2b7d1c2d516dea authored about 2 years ago by nmlgc <[email protected]>
ApiEvalTitle: Migrate the documentation to the new JSON i18n format.

Removing the `token` parameter description string, as MediaWiki 1.25
helpfully introduced a defa...

c3937a2dacd806562eea53118635de8470a97d72 authored about 2 years ago by nmlgc <[email protected]>
TPCTemplate: Use variable functions instead of call_user_func_array().

c8832a54dbe72064d4a7babdd1a3bb24aa942a2b authored about 2 years ago by nmlgc <[email protected]>
TouhouPatchCenter: React to redirect deletions as well.

Different hook.

4e2fb9d5b7adc8f787a48132ae90b81894d216da authored about 2 years ago by nmlgc <[email protected]>
TPCState: Move initialization from a Title object to a factory function.

1c0579262f9ff2ae0b7e4ca6e53cc8d9e3c0ed40 authored about 2 years ago by nmlgc <[email protected]>
wfLocalFile() → MediaWikiServices::getInstance()->getRepoGroup()->getLocalRepo()->newFile()

Deprecated as of MediaWiki 1.34. Yes, that's really what we're supposed
to call instead. "Use Me...

3a510e06d55c558c0337a642c9cf7966a0e4e0e8 authored about 2 years ago by nmlgc <[email protected]>
Don't pass `null` to parameters where it is deprecated to do so.

eb44d7da08f1e83b616d2864def5f72844158625 authored about 2 years ago by nmlgc <[email protected]>
TouhouPatchCenter: Always return an array from scrapeRestrictedTemplates.

Fixes the PHP warnings in our PageContentSave hook whenever a new page
is created, since there's...

04d4cfa6bead513a8b6a60559d2f8dd542647a56 authored about 2 years ago by nmlgc <[email protected]>
TouhouPatchCenter: Delete all redirects on deletion of a redirect target.

00b43b33f58a635efebf87f9f1fee43bcaf806d0 authored about 2 years ago by nmlgc <[email protected]>
TPCFmtMsg: Correctly check for h1 index types.

PHP 8.1 introduces warnings when using undefined array keys, which
finally pointed out this bug ...

ad1a7f4541ad6c4bcecb338e230a0fcff16c9845 authored about 2 years ago by nmlgc <[email protected]>
Remove unused functions.

d4d45062c1eaebef3126e8e8eae98c60a66e5c2c authored about 2 years ago by nmlgc <[email protected]>
Replace TPCUtil::dictGet() with PHP 7's null coalescing operator.

Pretty blindly, for the most part. Will need tests to iron out where
it's actually needed.

3cb09bce21bfa208fabf5f03b9fda84bdb0557ce authored about 2 years ago by nmlgc <[email protected]>
TouhouPatchCenter: Handle theme DB evaluation in a single place.

No more `if ( $title->getNamespace() === NS_THEMEDB )` across the
codebase!

0ae2a9b12552664c9d84a4e06ddc975bb43e4596 authored about 2 years ago by nmlgc <[email protected]>
Content::getNativeData() → TextContent::getText()

Deprecated in MediaWiki 1.33, because it hardcoded the assumption of
the default wikitext conten...

3cf8791ecfa51f0958f369f51ba06fdd67ad65bf authored about 2 years ago by nmlgc <[email protected]>
Automatically set the content language of TL-included pages to Japanese.

c488066515dc828f76a63d6cf9987cffa23bef02 authored about 2 years ago by nmlgc <[email protected]>
TouhouPatchCenter: React to file undeletion.

We could optimize this and only run evalFile() if the entire page is
restored, because undeletin...

43cd1508313f3f1a43d0c3ffef4ecbe2f73e1874 authored about 2 years ago by nmlgc <[email protected]>
MWScrape: Don't filter translation unit ID comments.

e9db3e25f22e32592b5d1377712e93a1467107ed authored about 2 years ago by nmlgc <[email protected]>
Store the source language of TL-included pages.

Originally, this was meant to establish consistency with a new
`tpc_games` table, which would ha...

b62bee63d0b6d71c39ef38bcf2be07fe871d176f authored about 2 years ago by nmlgc <[email protected]>
TPCFmtTheme: Don't emit titles whose ID redirects cross language boundaries.

That's what client-side patch stacking is there for. Ideally,
translators just wouldn't do this,...

39ebc0460e97be954ecb335d03a5a5fb25fd0426 authored about 2 years ago by nmlgc <[email protected]>
Title::getUserPermissionsErrors() → PermissionManager::getPermissionErrors()

Second deprecation from MediaWiki 1.33.

7f3c29cc0f5d0deb3d4863224e0abe04f141f217 authored about 2 years ago by nmlgc <[email protected]>
TouhouPatchCenter: Unconditionally evaluate all redirects to a file.

Even redirects itself could be a redirect target, after all.

6b93ac4d42b97b45773332c88f3f4e9919847740 authored about 2 years ago by nmlgc <[email protected]>
wfGetDB() → MediaWikiServices::getInstance()->getDBLoadBalancer()->getConnection()

Newly deprecated in MediaWiki 1.39. The satire just keeps continuing.

1f53cfbc534ec74d0302b9ca15e5de35efafd5e8 authored about 2 years ago by nmlgc <[email protected]>
Database::replace(): Specify a single unique column.

44d9f3f898ef6abb1cb49f3f3ac6d377edbe1d17 authored about 2 years ago by nmlgc <[email protected]>
Migrate i18n to the new JSON format.

https://www.mediawiki.org/wiki/Localisation_file_format

Nice how the suggestions given by gene...

ea5c4d7c1ab6ebf58d7f0bc4cbb23d9ae7635333 authored about 2 years ago by nmlgc <[email protected]>
extension.json: Update "author" and "url" fields.

3632879a24e9ca76951d6e7d0559199d4255bb69 authored about 2 years ago by nmlgc <[email protected]>
Migrate to extension.json.

https://www.mediawiki.org/wiki/Manual:Extension_registration

d2528205c9a4d2e7d9fd1acabfef57863dcfb36f authored about 2 years ago by nmlgc <[email protected]>
Move magic word declarations to a separate i18n file.

Yes, *internationalisation*. Even if you don't *want* to translate your
magic words, that's how ...

5a7b5b0bdaffd8103865525a5204e88fc678e226 authored about 2 years ago by nmlgc <[email protected]>
TouhouPatchCenter: Rework registration of patch generation hooks.

This one, however, is going to stay as it was… for the most part.
After all, these aren't really...

bc3a8132b735a4a8bb6776377cc9876d4346e59d authored about 2 years ago by nmlgc <[email protected]>
TPCPatchMap: Rework translation page mapping, to work correctly in all cases.

Oh boy. While 8240dc4 fixed hardcoded strings, it simultaneously broke
the Japanese patch. So, l...

48f4bdb853c69ae9d33a2467b93d8878ba1acac0 authored about 2 years ago by nmlgc <[email protected]>
TPCPatchMap: Remove unnecessary parameters from getMapping().

419efa1b0a7e73063928707fe365957a04359b7a authored about 2 years ago by nmlgc <[email protected]>
TouhouPatchCenter: Separate patch generation functions from MediaWiki hooks.

Also, underlining with equals signs looks hideous. Good lord did I have
terrible taste.

c6fabc4c18bdb24865c4a9974d8219edbdf929f1 authored about 2 years ago by nmlgc <[email protected]>
MagicWordwgVariableIDs → GetMagicVariableIDs

Another hook deprecated in MediaWiki 1.35. The new extension.json
system really prefers those to...

23dd68810cfd9219028e715fcf5a1154a0e11cea authored about 2 years ago by nmlgc <[email protected]>
TPCStorage: Turn the JSON option into a class constant.

More compatible with the new extension.json system… and we're no
longer running this on PHP < 5....

5d12a618deb3a96c434e0edfb91c6fa251790024 authored about 2 years ago by nmlgc <[email protected]>
Rename and consolidate a couple of functions.

883c3d4407acddda8e100f04f81b1a61a5acc689 authored about 2 years ago by nmlgc <[email protected]>
TouhouPatchCenter: Don't fail when trying to evaluate nonexistent pages.

7f5049c85da42649fdbd9540534190e177ddbcaf authored about 2 years ago by nmlgc <[email protected]>
PageContentSaveComplete → PageSaveComplete

We've arrived just in time for the former to be deprecated!

747cf629c850dfdaab49ee54df0302b3c911deb9 authored about 2 years ago by nmlgc <[email protected]>
TPCStorage: writeCache: Use variable functions instead of call_user_func().

Properly fixes the reference parameter warning.

2725cf6505182823ab95188e7c0d6847850b0532 authored about 2 years ago by nmlgc <[email protected]>
Database: Remove the separate index on tpc_patch_map.

Every SQL implementation ever generates an index on the primary key of
a table. My 2013 self sim...

756bc163ceac04ddbe57c98bd7977dfac16f2f36 authored about 2 years ago by nmlgc <[email protected]>
Move the database reset function next to the schema update function.

That's how you don't forget updating this one as well, if you add or
remove any tables.

b006b49686db4daedd5fa76662431569bbae0b3c authored about 2 years ago by nmlgc <[email protected]>
PageContentSave → MultiContentSave

Same here.

6125cb32526cf01c4c1fc201f23c6549f3383b08 authored about 2 years ago by nmlgc <[email protected]>
MediaWiki removed DB_SLAVE in 1.34, change to DB_REPLICA.

4e4f858189630adcb2d0eab634311da7671e1e6e authored about 2 years ago by nmlgc <[email protected]>
composer: Pin phpseclib to the ancient version expected by TPCServerSFTP.

This way, a blind `composer update` won't at least completely destroy
TPCServerSFTP, in case tha...

b2a0c4eb7c4ba32086ffa35682fdd111fa80288e authored about 2 years ago by nmlgc <[email protected]>
Distinguish rebuildall-safe.php from rebuildall.php more clearly.

And give it a better name.

4f9fbed839d6d57730e6239c27307814867dc886 authored about 2 years ago by nmlgc <[email protected]>
Commit the old rebuildall-safe.php script.

82915608f7862d082e3511633d70bae0b58b961d authored about 2 years ago by nmlgc <[email protected]>
Whitespace cleanup.

I use elastic tabstops now, which make unintended tabs stick out quite
a lot! 🙂

fbbc097210b25aebb10a4c280a6e41498803e04f authored over 2 years ago by nmlgc <[email protected]>
Remove thcrap_game_info hook

That thing have been unused for 8 years, since we moved base_tsa to Github

f07ecd002b515c96f5fa6ef9f605059c7b0a6dd8 authored over 2 years ago by brliron <[email protected]>
Tasofro: add tt/stagename

1780ff2b4d83f1d6222ea8608799b16155992373 authored almost 3 years ago by brliron <[email protected]>
TPCFmtMsg: add message copying for th18 stage 6

I'd rather be able to specify multiple codes via comma, but this will do
for now.

f39ccec94d8750b7eb4f811a9afb2520125820bf authored over 3 years ago by Egor <[email protected]>
TPCBinhack, TPCBreakpoint: remove space on line 1

Finally, no more spaces in the HTML or maintenance script output.

74dcc5e0a0d81518f2d374848bac22f1b37e8fa2 authored over 3 years ago by Egor <[email protected]>
ApiEvalTitle: allow translation pages to be kicked

49d4db159a13318e62a29c009fc3cbce5b220b90 authored over 3 years ago by Egor <[email protected]>
TPCFmtGentext: add a null check

e27faca8a481cb6b51dd86918de84efce0463641 authored over 3 years ago by Egor <[email protected]>
MWScrape: remove category links from the output

Allows translators to mark their translations with arbitrary tags.

62f304a101aea557cf2fcb183c14c39dec16c408 authored over 3 years ago by Egor <[email protected]>
Add an API action for evalTitle

bb44d82a7f84163ecec305a15d12c54d570b7bf1 authored over 3 years ago by Egor <[email protected]>
don't use empty() on strings

These are the ones that I'm certain are safe to change.

a53dc7533d2bcb3a4e5557ae8134c0491ecf03ef authored over 3 years ago by Egor <[email protected]>
TPCFmtCSV: don't use empty() on strings

empty() considers "0" empty

See thpatch/thcrap#73

93d1e5f9d21b76e3207e84d4cb277af58dbcee9c authored over 3 years ago by brliron <[email protected]>
Don't eval top-level themedb pages

aefdcc81db5125dec0ffeb2e3f47fea9b44e4a4f authored almost 4 years ago by Egor <[email protected]>
Add th18 abilities support

ab2552f72a449caf836e00349e2b45dc957cb0b0 authored almost 4 years ago by Egor <[email protected]>
Add UNLICENSE

approved by nmlgc

90684611553109eb21a735d04032322026f8b51c authored almost 5 years ago by Egor <[email protected]>
TPCInclude: Always re-evaluate any page, independently of its mapping.

The original reason to even do this in the first place unfortunately
seems to be lost to time…

55a54be22b1b0a0967c47281c2ce1c54c74c787a authored over 5 years ago by nmlgc <[email protected]>
Remove `<br />` tags in tlnote.

Closes #2.

64dd7c2e0adb6a08dff281391f5d6723a20ddd46 authored almost 6 years ago by rosenrose <[email protected]>
TPCUtil: Correctly parse TL notes with newlines.

Or with trailing newlines before the template, for that matter…

543f594a112c3ce5687691a722579d7a9eed2790 authored almost 6 years ago by nmlgc <[email protected]>
TPCUtil: Parse TL notes.

Funded by zorg.

a0b68d64b66d5e081b2b9a1cb7ff3bf23d0bc084 authored almost 6 years ago by nmlgc <[email protected]>
TPCParse: Correctly parse templates with more than 1 version-specific section.

Why were we keeping Skipgame on thpatch again? Legal issues and fear of
DMCA takedowns, because ...

f36fcc505edc5cd9a1af44d5673331d295c12945 authored almost 6 years ago by nmlgc <[email protected]>
TPCParse: Correctly parse ruby templates with more than two parameters.

One of those cases has been hidden on the wiki since March 2014. (!)

https://www.thpatch.net/w...

a4b21872712c1c29c4baff22d02b1d9063183941 authored almost 6 years ago by nmlgc <[email protected]>
Move ruby parsing to a common function.

171eb3efd8c2ec6ce1be7b536490bfde6c244bd3 authored almost 6 years ago by nmlgc <[email protected]>
TPCPatchMap: Also map top-level pages to the correct language automatically.

So *that's* why the hardcoded string page was broken since the last
commit… ._.

8240dc40f532b825a535ce0f1f2e78d7ad5c0cb0 authored almost 6 years ago by nmlgc <[email protected]>
Fix display of neighbors which couldn't be fetched/parsed

PHP quotes are nice

b2669acb2a3a3267575837e895b2b4ccbc9e76ee authored about 6 years ago by Egor <[email protected]>
TPCPatchMap: Map translatable content pages without relying on the database.

Why put this stuff there to begin with, if it only adds a potential
point of failure? About time...

e8cba5cfda566554ec1555f929d6b237bae47274 authored about 6 years ago by nmlgc <[email protected]>
Don't remove a file from the server if an old version is deleted.

452790f48a2dcd6040b7e5e539b762547d8f7045 authored over 6 years ago by nmlgc <[email protected]>
s/LINES/self::LINES/g

90aea5598d7f03ec937c945795d58a64c897a1b5 authored over 6 years ago by Egor <[email protected]>
TPCFmtMissions: fix arrays serialized as objects

56eb5a99d2d511873f6c1fa1475a224bb7e7071b authored over 6 years ago by Egor <[email protected]>
Add support for th095 and th125 mission comments.

e6987e5a21d3f0cf7415558f889bf6bb07b6c9b3 authored over 6 years ago by Egor <[email protected]>
TPCFmtMsg: fix regex for {{ruby}}

Spaces around 1st argument (base) will now be ignored

86442bf9792eee0f7d15e9f15fbb3cb6794ddedc authored over 6 years ago by Egor <[email protected]>
Remove superfluous slashes from server URLs.

f6f606c360b422cb3da3843f15c7a430c42adbc9 authored almost 7 years ago by nmlgc <[email protected]>