Filtering here would mean giving random number of results instead of showing constant number. And can mislead people to think that there are no results and also force people to switch pages more often.
For example, if there are 48 hentai results on the 50 results. It will display only 2 results on the page. People would therefore think that there are only two results for the search or would make them changing the page every two (or more) results instead of 50.
Finally this doesn't fix at all the results in the RSS feeds & the API endpoint.
The hentai results should be fixed in the scrapper.
* Tag Search + Tests + Search slight refactor
First commit improving search. Different struct have their own file with their tests. This way of separating struct by files is inspired by the go packages I've seen so far.
Added new behaviour as discussed in #1334
* fix fallback to ES
* Added some comments to explain PG fallback + log err moved
* Refactored search
Nearly fully covered
WhereParams struct has disappeared for Query struct instead
In DB model, we use an interface implementing Query struct methods
* 1rst Refactor of Tags (WTF already?!)
Prepare Tags for the refactored system. Now there will be descriptive tags for a particular release (ecchi, BDSM, ....) and typed tags.
Typed tags are tags relevant to all torrents and can be limited to some input value. For example, video quality is a typed tag limited to some values (hd, full hd, sd, ...). In the same way, anidbid is also a typed tag but doesn't have default values.
Furthermore, the location storage of tags have changed, now accepted descriptive tags are stored in the torrents table in the column "tags" and they are separated by commas.
In the opposite, accepted typed tags can have have their own column in the torrents table. For example, anidbid, vndbid will populate the column DbID when accepted. On the other hand, videoquality will populate the same way as descriptive tags.
This behaviour depends on the callbackOnType function in tag/helpers.go
* fix for modtools :')
* Added anidb, vndb, dlsite & vmdb id fields in torrent model.
Tags don't have an accepted field anymore.
Accepted Tags are in torrent.AcceptedTags and non-accepted ones in torrrent.Tags.
New Helper + New Changelog for translation string.
* New upload/edit form for torrent tags.
Now the inputs are dynamically generated by the helper tag_form.
No more modal window in those form, only inputs.
Support of tags in API
New translation string for the link to the modal on torrent view.
More comments in the functions for tags
* Improving how config for tags work. Adding a test on them with understandable messages.
Config for tags have now a Field attribute which is linked to the Torrent model. For example anidbid tag type has now a AnidbID field in config which is the name of the field in torrent model (AnidbID). Every new tag type need to have a field attribute with its counterpart in torrent Model.
Fixing some errors
* Fix compile error + Tests Errors
* Improve performance by caching the list of tags with an index
Adding/removing tags works/tested
New translation strings
TODO: test/fix adding tag on upload/edit
* Mini fix to display video quality
+ tags works/tested on modo edit
* Fix editing tags on modpanel
* Edit tags works
* Add translation string
* Add search backend for tags.
?tags=xxx,eee,ddd
?anidb=21
?vndb=23
?vgmdb=24
?vq=full_hd
* Fix Ajax tag Removal&Add
* Added form for descriptive tags
* Forgot to add the link between database and form for descriptive tags.
* Adding the increase/decrease pantsu for descriptive tags
* Fix#1370
* When you actually forgot to commit files after having forgotten commits
* Add "no-torrent" class if no torrent link
* Add no-torrent class that changes width
* add & remove needed !important
* more padding between 860 & 1050px wide
* aids
* Update main.css
* Update main.css
* Update main.css
* Update main.css
* fix display on IE
* Update main.css
* no-torrent class in torrent auto update
* no-torrent class in torrent preview
* fix bug
* fix identical bug
* fix for small header
* small value change
* Remove html rules from upload, load rules file and call the rule function
* Update faq.jet.html
* Create rules.jet.html
* forgot to remove old list
* forgot to do that
* remove <br/>
* Update main.css
* Update g.css
* add jav flag keyword
* Update kilo.js
* add h-games keyword
* change seeder & leecher width at lower res
* change class for seeder & leecher
* add new class to hide stuff when below 520px wide
* add those classes in upload
* change classes in torrent updating JS
* change class in torrent updating JS for upload
* removal of space
* margin-right addition
* Update flags.jet.html
* margin into padding
* add "highlighted" class for possible future use
* bigger rules-drop, fix wrong display, remove useless line
* add alt for category img & alt with every language for flag
* literally no point of an alt on a div
* flag alt
* add two keywords
* move keywords_flags vartiable outside of function
no point in creating it every single time
* Update en-us.all.json
* add sukebei rule
* Update main.css
* Update upload.jet.html
* Update upload.jet.html
* Update main.css
* Update main.css
* Update en-us.all.json
* whoopsies
* add keywords for categories
* fix display on firefox & older browsers