summaryrefslogtreecommitdiff
path: root/lib/VNDB/Util/CommonHTML.pm
AgeCommit message (Collapse)AuthorFilesLines
2018-02-08Store d+ pages in the DB as versioned entries + use markdownYorhel1-4/+6
This touches a bunch of things: - Adds a new first-class database entry type - Removes the d+.+.+ BBCode link syntax, adds a new d+#+ and d+#+.+ link syntax (references have been updated where possible) - Adds a new dependency on Text::MultiMarkdown
2016-01-20L10N: Intern all VNDB::Util::* stuffYorhel1-69/+88
With some related edits in other parts of the code, mostly due to interface changes to htmlRevision() and htmlFormError(). Trivial replacements were automated by a super awesome script.
2016-01-19Move some VNDB::L10N stuff to VNDB::Func + intern VNDB::FuncYorhel1-1/+1
2015-11-01Remove 'you need to be logged in to edit this page' messageYorhel1-5/+1
While helpful, it's also rather dominant. We're not that desperate for new contributes anymore.
2015-11-01Switch to HTML5 doctype + s/acronym/abbr/ + s/ / /eYorhel1-4/+4
I'd have preferred to stick with XHTML 1.0, but unfortunately browsers won't allow you to use modern Javascript APIs with an older doctype. Note that most pages don't actually validate correctly as HTML5, I'm relying on browsers to be lenient. In either case, I'd like VNDB to stay valid XML (XHTML5, then), and luckily that shouldn't be a problem.
2015-10-17SQL: Fix all browsing queries to use the new schemaYorhel1-8/+8
This basically makes VNDB browsable again, but editing entries is still broken. I split off the get-old-revision functionality from the db*Get() methods into db*GetRev(). This split makes sense even with the old SQL schema: db*Get() had to special-case some joins/filters when fetching an older revision, and none of the other filters would work in that case. This split does cause some code duplication in that all db*GetRev() methods look very much alike, and that the columns they fetch is almost identical to the db*Get() methods. Not sure yet how to avoid the duplication elegantly. I didn't do a whole lot of query optimization yet (most issues require extra indices, I'll investigate later which indices will make a big difference), but I did fix some low hanging fruit whenever I encountered something. I don't think I've worsened anything, performance-wise.
2015-01-27staff: Fix various parts to recognize the new staff databasemorkt1-2/+2
2015-01-02staff: Fix deleting of staff + use JSON to pass data + minor fixesmorkt1-0/+1
2014-12-22Initial implementation of a staff/seiyuu databasemorkt1-4/+5
2014-10-16Completely get rid of the old charedit perm flagYorhel1-6/+5
2013-11-25CommonHTML: Made 'copy' tab invisible to users without editsYorhel1-1/+1
2012-07-02Handler::VNPage: Added releases tab + comparison tableSpaceRanger1-0/+6
2012-01-25Do most of the table striping in CSSYorhel1-12/+11
Using CSS3 selectors. This is a more elegant approach, and since browser support for CSS3 selectors isn't as crap as it used to be I can finally make use of them.
2012-01-10Allow one fractional digit for VN votesYorhel1-10/+10
The interface to set a non-integer vote isn't very nice, but at least it works. Or so I hope.
2011-08-30Changed "remove"- and "add"-like words to a single lang.txt entryQCyph1-1/+1
2011-08-24Util/CommonHTML.pm: fixed copy tab and edit message bugs on character pageQCyph1-2/+2
2011-05-01Switched back to Algorithm::Diff::XSYorhel1-3/+6
Algorithm::Diff::Fast suddenly disappeared for some reason...
2011-04-30Cleaned up permissionsYorhel1-3/+3
- Removed 'hist' and 'mod', weren't used at all - Merged 'del' and 'lock' into a single 'dbmod'
2011-04-08Added spoiler warning to character revision pagesYorhel1-1/+10
2011-03-20chardb: Added simple character browser + searchYorhel1-0/+1
2011-03-19chardb: Implemented char entry copyingYorhel1-2/+2
2011-02-16chardb: Added character add/edit form + misc. fixesYorhel1-1/+1
2011-02-15chardb: Added char entry tables and updated the basic revision frameworkYorhel1-8/+11
The Perl code and SQL-revisioning code only handles the name, original, alias and desc fields at the moment. There is a basic /i+ and /i+.+ page for testing, which should have all the functionality required for the revisioning framework.
2011-02-14chardb: Added trait index and searchYorhel1-0/+1
2011-02-13chardb: Added trait add/edit formYorhel1-2/+2
2011-01-27TUWF: Added tag name to several end() callsYorhel1-10/+10
Haven't found any bugs this way, yet. I doubt there'll be any problems, but it's a nice new feature that could help quite a bit. :-D
2011-01-27TUWF: Replaced ugly html() redefine hack with the new html() optionsYorhel1-16/+1
2011-01-25TUWF: Initial convert from YAWF to TUWFYorhel1-8/+9
There may still be some bugs present and I've only converted the points where TUWF is incompatible with YAWF. The new TUWF features are not in use yet, I'll do that later on. Note that, in order to run the new code, TUWF must be installed on your system. The configuration for the TransAdmin plugin has also changed. Other than that there shouldn't be any issues.
2010-12-23Converted the show_list pref. to users_prefs and inverted the valueYorhel1-1/+1
In the users_prefs table, the default value should evaluate to 'false' in Perl, so show_list had to be inverted to hide_list.
2010-12-19Added tab and link for /u+/votes to user tabs & main menuYorhel1-0/+4
2010-12-13Removed /u+/tags and replaced/added links to /g/links?u=XYorhel1-6/+0
The new tag link browser has replaced the crappy old user-tags-browser.
2010-12-10Added vote listings for VNs and users (/[uv]+/votes)Yorhel1-1/+8
2010-11-26Use word-level (instead of character-level) diff for large fieldsYorhel1-4/+5
Primary reason for this change is because Algorithm::Diff::Fast isn't all that fast for character-level diffs. :-/
2010-11-11Util::CommonHTML:revdiff: Removed encode/decode UTF-8 passYorhel1-6/+2
Algorithm::Diff::Fast can handle perl encoded UTF-8 perfectly fine, so the encode and decode functions aren't necessary anymore.
2010-11-11Replaced Algorithm::Diff::XS with Algorithm::Diff::FastYorhel1-1/+1
This module is cleaner, faster and has less dependencies. (didn't exist yet at the time I first implemented the revision diffs)
2010-02-01Properly copy over search string on switching with the searchtabsYorhel1-13/+6
2010-01-24Versioned the deleting and locking of database entriesYorhel1-14/+12
This is implemented by adding ihid (item hidden) and ilock (item locked) columns to the changes table, The (vn|release|producer).(hidden|locked) columns now work as a cache, refering to the changes.(ihid|ilock) columns with changes.id = (vn|release|producer).latest. The cached columns are updated automatically each time a new revision is inserted. This is a pretty large change, bugs are quite likely.
2010-01-09L10N: Extracted/fixed some more strings on revision pagesYorhel1-2/+2
2009-12-16Fixed bug with zero strings ("0") in the diff viewerYorhel1-2/+2
2009-11-27DB: Abstracted all ORDER BY clauses in the DB abstraction layerYorhel1-1/+0
The ORDER BY was previously specified using an 'order' argument, which would then be directly inserted into the query. The new method is the same as what I used for the public API: two 'sort' and 'reverse' arguments. This should be less error-prone and more readable. This changes quite a lot of code, so I hope I haven't forgotten to update something along the way.
2009-11-27Split browse functions from CommonHTML.pm into BrowseHTML.pmYorhel1-191/+2
CommonHTML.pm was starting to get a bit large. Also renamed htmlHistory to htmlBrowseHist while I was at it, to keep consistency with the htmlBrowse functions.
2009-11-27htmlEditMessage(): Fixed tiny HTML bug in release copy warningYorhel1-1/+1
2009-11-27Display VN ratings on tag pages as wellYorhel1-2/+53
With this method I managed to reuse the VN list table code for the lists on both the VN browser and the tag pages. And optimized away the dbTagVNs() function while I was at it (dbVNGet() is powerful enough)
2009-11-16htmlVoteStats(): Fixed another undef in multiplication warningYorhel1-1/+1
I didn't expect c_popularity to be NULL when c_votecount > 0, but forgot that this is indeed possible when the votes don't count in the popularity ranking (because it's the only or lowest vote of the user).
2009-11-14SQL: Allow NULL for vn.c_popularityYorhel1-1/+1
Sorting from least to most popular VN make sense now, you won't have to wade through those entries without any vote at all.
2009-11-14SQL: Cached bayesian VN rating and vote countsYorhel1-1/+1
Was a good idea after all...
2009-11-14Added bayesian rating info to VN pagesYorhel1-2/+3
This adds about 100ms (sometimes more) to the page generation time of VN pages... maybe I should cache the ratings after all.
2009-10-21Added relation graphs for producersYorhel1-2/+38
TODO: - document the relations - emit a relgraph notify when needed
2009-10-12htmlSearchBox: Copy over search query when switching search typeYorhel1-5/+12
<@EchoMateria> for example I searched for 'Maika' in Visual Novels <@EchoMateria> then remembered that it was a producer not a game and clicked Producers instead <@EchoMateria> can you set it so that entry in the search field would stay and it would search for it in the producers instead?
2009-10-12SQL: Converted changes.type to an ENUMYorhel1-3/+2
This is a very important column in a very important table, I hope I didn't forget to update a piece of code somewhere...