summaryrefslogtreecommitdiff
path: root/util
AgeCommit message (Collapse)AuthorFilesLines
2019-09-26Disallow usernames that look like DB identifiers + minor BBCode fixYorhel1-3/+3
A '-' before or after a DB identifier now counts as a "word character", meaning in "d5-something" won't turn that "d5" into a link.
2019-09-25v2rw: Add Elm & db_edit framework + Convert doc page editingYorhel1-2/+36
Most of this is copied from v3. I did improve on a few aspects: - db_edit() and db_entry() use VNDB::Schema rather than dynamically querying the DB. This has the minor advantage of a faster startup. - The Elm code generator now writes to multiple files, this avoids the namespace pollution seen in v3's Lib.Gen and makes the dependency graph a bit more lean (i.e. faster incremental builds). - The Elm code generator doesn't update the timestamp of files that haven't been modified. This also speeds up incremental builds, the elm compiler can now skip rebuilding unmodified files. - The Elm API response generator code now uses plain functions rather than code references and all possible responses are now defined in Elm.pm. Turns out most API responses were used from more than a single place, so it makes sense to have them centrally defined. The doc page preview function is also much nicer; I'd like to apply this to all BBCode textareas as well. (Elm.pm itself is ugly as hell though. And we will prolly need some HTML form generation functions in Elm to make that part less verbose)
2019-09-24Add language: Scottish GaelicYorhel2-1/+2
2019-09-23Add 4 new languagesYorhel2-1/+5
https://vndb.org/t12897.6
2019-09-18v2rw: Convert authentication code to VNWeb::AuthYorhel1-53/+33
More churn! Also converted v3 to use VNWeb::Auth, considering the API is pretty much the same. Converted VNWeb::* to use VNDB::Config directly rather than read from tuwf->{}, converted VNWeb::HTML to use VNWeb::Auth, and updated util/vndb.pl with the new code style. I tested as much as I could, but I'm sure I broke something.
2019-09-17v2rw: Initial start on an incremental rewrite; Layout HTML firstYorhel1-1/+1
I copied and modified VN3::DB to VNWeb::DB, but it isn't used yet. Now that I think about it, that module isn't "web" specific at all and should perhaps be in the VNDB:: namespace. Oh well.
2019-09-17Rename VNDBSchema to VNDB::Schema and let it figure out the root path itselfYorhel3-7/+7
I always avoided using the VNDB::* schema for non-web related utility modules, but thats pretty silly (especially as I'm slowly trying to move away from the old VNDB::* web code).
2019-09-17Don't send db edit notifications for changes made by MultiYorhel1-0/+1
2019-09-14SQL: Replace "shop_*.found" with "deadsince" timestampYorhel2-4/+23
Has the inverted meaning. Keeping track of how long we've been unable to find a certain shop link is useful in weeding out temporary unavailability when querying for dead links.
2019-09-12Add VNDB::Config module and unified conf.pl config fileYorhel5-51/+24
This gets rid of global.pl, config.pl and config3.pl and uses the cleaner config3.pl format for the config file. The config is easily accessible from anywhere by importing the new VNDB::Config module; The global $VNDB::S,O,M,ROOT variables have been removed. Sorry for all the churn...
2019-09-12VNDB::Types: Convert medium & resolutionYorhel1-7/+7
2019-09-12VNDB::Types: Convert age_rating and release_typeYorhel1-2/+2
2019-09-12VNDB::Types: Convert animated & voicedYorhel1-2/+2
2019-09-11VNDB::Types: Convert vn_lengths, anime_types and tag_categoriesYorhel1-1/+1
2019-09-11VNDB::Types: Convert char_roles, blood_types and gendersYorhel1-3/+3
2019-09-11VNDB::Types: Convert (wishlist|rlist|vnlist)_statusYorhel1-1/+1
I did create a function to export arrays, but ended up exporting them as hashes. That ought to simplify a conversion to an enum type. Which will likely never happen because I'd rather switch to dynamic user-defined statuses, but that's quite a step further...
2019-09-11VNDB::Types: Convert platforms into %PLATFORMYorhel1-1/+1
2019-09-11VNDB::Types: Convert languages into %LANGUAGEYorhel1-1/+1
2019-09-11VNDB::Types: Convert staff_roles into %CREDIT_TYPEYorhel1-1/+4
Part one in converting data/global.pl lists into a separate VNDB::Types module. This is basically what I had started with VN3::Types, but it looks like a gradual rewrite/cleanup may be more successful. At least it'll be more useful on the short term.
2019-09-09spritegen.pl: Move compression to "make prod"Yorhel1-10/+1
I think this is the last one. 'make' in a development environment is now beautifully fast and 'make prod' generates nicely small assets. (arguably we could have an even faster dev setup by not generating an icons.png in the first place, but then we'd need more code to differentiate between dev & prod, which is also a pain) This change does remove the "slow" option that would use the compressed image size in the optimization algorithm, but I hadn't used that option for a while anyway, it takes an hour and only saves about 100 bytes.
2019-09-09JS/Build: Move minification and compression to "make prod"Yorhel1-29/+3
Similar to previous commit.
2019-09-09CSS/Build: Move minification and compression to "make prod"Yorhel1-17/+10
This rather significantly speeds up development builds. Also simplifies skingen.pl and its config a bit. The new compressed files are written to /s/*/style.min.css{,.gz}, it is up to the web server to serve those instead of /s/*/style.css.
2019-09-09CSS: Get rid of boxbg.png and Image::Magick dep in skingen.plYorhel1-20/+31
Should improve page loading time, reduce server load and speed up CSS generation by a totally insignificant amount. I did run into some trouble with the removal of boxbg.png, because apparently there was something magical about that image that made browsers render it in a different color than the one specified upon creation. I've adjusted the boxbg color of the 'angel' skin accordingly, but other skins may also have a slight color difference with this change. Some details are at http://s.blicky.net/19/colortest.html
2019-09-03Add Pixiv ID to staff entriesYorhel2-2/+28
2019-09-03Now with the update scriptYorhel1-0/+7
2019-09-03Fetch some more IDs from Wikidata + display IGDB & Pixiv linksYorhel1-1/+8
2019-09-03Clean up old update scriptsYorhel64-4273/+0
These have no value anymore at this point. And if they have, they'll still be in the git history.
2019-09-02Minor cleanup of l_wp/l_encubed link codeYorhel1-4/+4
The fields are still there in order to keep the edit history somewhat sensible, but we don't need this additional code.
2019-09-02Allow multiple Gyutto & DMM links per releaseYorhel2-4/+16
To handle https://vndb.org/t12755.37
2019-09-01Add ErogeTrailers.com links to releasesYorhel2-4/+8
2019-09-01Add EGS links to releasesYorhel2-2/+8
2019-08-31Add doc page for the query.vndb.org interfaceYorhel1-0/+4
2019-08-30SQL: Remove remnants of old affiliate_links tableYorhel1-2/+0
2019-08-26Display shop+price info on VN pages + delete old affiliate codeYorhel3-16/+5
The current affiliate links format doesn't display as much information as before but it's also a lot less messy.
2019-08-26Display PlayAsia links on release pages + use crawled info to correct shop linksYorhel2-0/+11
2019-08-25Add PlayAsia shop crawlerYorhel4-0/+42
Most of this code isn't new - there's been a hidden 'Affiliates.pm' module for a while. This just consolidates the code with the other shops and opens up the code. The API endpoint is hidden. :)
2019-08-25Add DLsite price & shop info crawlerYorhel3-0/+19
2019-08-24Add DenpaSoft price info crawlerYorhel3-0/+19
2019-08-24Add MangaGamer price info crawlerYorhel3-0/+19
2019-08-24Add J-List price info crawlerYorhel3-0/+19
2019-08-22Add JAST USA links to releasesYorhel2-2/+8
2019-08-21dbdump.pl: Make sure to include chars_vns relations with rid = NULLYorhel1-1/+1
2019-08-21Remove protocol from l_dmm linksYorhel1-0/+4
It's redundant, and normalization is actually easier when removed.
2019-08-21Add Itch.io links to releasesYorhel2-2/+35
2019-08-21Add migration for J-List affiliate linksYorhel1-0/+14
I managed to fix the crawler, so the affiliate info is up-to-date again.
2019-08-21Add DMM links to releasesYorhel2-2/+6
Full URL, because DMM has too many little sub-shops, and handling them all is a pain. I assume for now that a release is only in a single DMM shop.
2019-08-19Add Getchu links to releasesYorhel2-2/+10
2019-08-19Add Mangagamer.com links to releasesYorhel2-2/+20
MG has an all-ages section at / and an adult section at /r18/, but the adult section includes everything, so we'll just link to that. Maybe I'll write a bot that figures out the correct link, but it's not something we have to bother our users with.
2019-08-19Add Melonbooks.com links to releases + minor edit form reorgYorhel2-2/+6
2019-08-19Add Digiket.com links to releasesYorhel2-2/+6