Doing this makes it possible to use the method from ArrayString (Contains and Join).
Therefore:
* Tags.Join() would return a string of all the tags separated by commas
* Tags.Contains(str) would return a boolean on whether there is the str or not
* Add username search
Quite simple, you need to provide ?user=xxxx
* Add userID search + Changed name of input field
Now ?user=xxx can also search userID.
For that you need to prefix it with "#".
Example:
* ?user=akuma06 would search torrents based on username akuma06
* ?user=#123 would search torrents based on userID 123 (be aware that you have to encode the "#" in url format %23)
* Update search.jet.html (#1436)
* Update main.css (#1435)
* Add bbcode support
Closes#687
As the issue suggested, I added bbcodes support to the forms.
Now we support basic bbcodes, markdown and html tags
* Add new dependencies
* Add title for tag inputs
* Turn the cursor into a pointer when hovering search icon
* Remove space separating search input & refine button
* Remove now useless css rules
* Proper padding for header searchbox
Some text was hidden by the search icon because of too low padding
* Fix language list position on IE
* Fix placeholder display for firefox
2px smaller than regular text
* HTML changes to have tags in one div
* Add form-input class to tags inputs in upload
to have them look like regular inputs
* CSS changes to make tags inline
* Add changes to torrent edit
* Add changes to admin torrent edit
* attempt at fixing travis
* rollback admin edit in an attempt to fix travis
* Fix tags being visually broken in one very specific resolution
* fuck this shit
* Added cache on PG query with results
+ Add a log info to say that ES is enabled
* Added log when ES is disabled too
* Added log info when cache is retrieved
+ moved notnull set variable with others
* Fix travis test :')
* Avoid language list being higher than 59px in refine
Otherwise that would break the visual for the future anidb & tag inputs on some very specific res
* CSS to make the new input look pretty & responsive
* HTML of the new inputs
* -1px
* add refine-date class
* set refine-date width in css
* !important width for refine date as to avoid responsive css to change it
* remove size for date inputs
I tried locally and I'm kept logged in. @ewhal check after update that you do have the same hash set in both nyaa and sukebei. If you do, just change the domain name (".pantsu.cat") in the functions getDomainName() to the subdomain. Because I don't see why it wouldn't work otherwise
* Add Anidb, Vndb, Vgmdb links
* Anidb, Vndb, Vgmdb and Dlsite links into tag design
* Add external links to Anidb, Vndb, Vgmdb and dlsite
* Add filter links to tags
* Filter string translation already exists
* Fix display tags
* Update translation changelog
* Do not display tag type when default
* Update search.go
* Update helpers.go
* Update search.jet.html
* Update search.jet.html
* Removing SortOrder and SortType from template's Search struct. Since we already have them in main torrentParam search struct and we don't need to overwrite them.
* Replaced old date search filter behaviour
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
* Check if searchbox & category is empty instead of not equal
* Replace farFutureString() by variable
The function was getting executed multiple times which triggered the creation of a new variable and the call of multiple functions multiple times throughout the code, instead it's just executed at the very start of the code
* Fix date showing negative difference (-20 days old)
* Add themeToggle handler to router.go
* Create themeToggle/router.go & ThemeToggle.go
* Add link to /dark in footer, remove display = none on toggle dark mode
* Remove JS that ordered toggle dark mode link to show as it is now constantly visible
* Rollback to fix errors
* Add some comments
* Create redirectUrl variable & set it's content then use it to redirect user
* Remove useless log
* Remove usage of fmt
* Add redirect get parameter to toggle link
* Add another url for toggleTheme
* wooo
* Update base.jet.html
* Update base.jet.html