Commit graph

540 commits

Author SHA1 Message Date
Marcin Kurczewski
e43881e03f Better debug 2014-02-24 16:50:16 +01:00
Marcin Kurczewski
ff8bb761ee Added comment preloading 2014-02-24 16:50:16 +01:00
Marcin Kurczewski
3a2a686b6c Faster preloading 2014-02-24 16:50:16 +01:00
Marcin Kurczewski
e6b37afa8c Changed /comments behaviour
Instead of showing comments chronologically, group them into posts, then sort
the posts by last comment date. Reason: improved comment context delivery
makes discussion bumping possible (no matter how old it is) and discussion is
what comments are about.

Comment count is limited to 5 per post.
2014-02-24 16:50:16 +01:00
Marcin Kurczewski
b144321c76 New Sql operators, because they may come in handy 2014-02-24 16:50:16 +01:00
Marcin Kurczewski
ae09f20910 Fixed date: post search token 2014-02-24 16:50:16 +01:00
Marcin Kurczewski
ec16073539 Fixes to SqlSelectStatement 2014-02-24 16:50:15 +01:00
Marcin Kurczewski
0b10221fed Fixed small bugs in search services 2014-02-24 00:11:01 +01:00
Marcin Kurczewski
2aefafa473 Favoriting a post automatically votes it up now
It's still possible for user to withdraw his vote afterwards for whatever
reason.
2014-02-23 22:46:51 +01:00
Marcin Kurczewski
72946c3922 Fixed download and arrows transparency 2014-02-23 22:04:26 +01:00
Marcin Kurczewski
975da67d33 Fixed tag list search styles
Search styles contained 'pending' option when staff was activation enabled
2014-02-23 22:04:26 +01:00
Marcin Kurczewski
f2510ac8c0 Added focus color to comment links 2014-02-23 22:04:26 +01:00
Marcin Kurczewski
4455284bdb Added a few search aliases
Each of "idmin", "datemax" etc got "id_min", "date_max" variant alias.
Additionally, "id" got new "ids" alias.
2014-02-23 22:04:26 +01:00
Marcin Kurczewski
5827626deb Search services refactor
Code rerlated to search query parsing moved to separate classes.
2014-02-23 22:03:59 +01:00
Marcin Kurczewski
4ce4ea6f70 More straightforward next/prev post calculation
Instead of getting all three rows at once using abs(id1-id2)<=1, it now asks DB
explicitly about id-1 and id+1. Even though it uses more SQL queries, it's
actually slightly faster.
2014-02-23 10:03:05 +01:00
Marcin Kurczewski
a4fadb218b Fixed binding too many values to PDO statements 2014-02-23 10:00:21 +01:00
Marcin Kurczewski
f59b92e06c Fixed showing hidden posts in /comments
If user has no privileges to list the hidden posts, comments on such posts
won't show in /comments anymore.
2014-02-23 09:27:50 +01:00
Marcin Kurczewski
9eee8ba612 Mass tag: friendler pagination
If user is in mass tag mode and changes target tag but doesn't change the
query, he now remains at the same page. (Concerns only users who have disabled
endless scrolling.)
2014-02-22 23:51:25 +01:00
Marcin Kurczewski
f783552820 Fixed appearance of editing flash and youtube posts 2014-02-22 23:37:48 +01:00
Marcin Kurczewski
c0f52ecf28 Fixed HTML injection in some forms 2014-02-22 23:37:30 +01:00
Marcin Kurczewski
395ac3033f Fixed HTML validation 2014-02-22 19:47:33 +01:00
Marcin Kurczewski
6af3a0e42b SQL overhaul: introducing tree-like queries
Reason: until now, PostSearchService was using magic to get around the biggest
limitation of SqlQuery.php: it didn't support arbitrary order of operations.
You couldn't join with something and tell then to select something from it.
Additionally, forging UPDATE queries was a joke. The new Sql* classes replace
SqlQuery completely and address these issues. Using Sql* classes might be
tedious and ugly at times, but it is necessary step to improve model layer
maintainability.

It is by no menas complete implementation of SQL grammar, but for current needs
it's enough, and, what's most important, it is easily extensible.

Additional changes:
* Added sorting style aliases
  - fav_count
  - tag_count
  - comment_count
* Sorting by multiple tokens in post search is now possible
* Searching for disliked posts with "special:disliked" always yields results
  (even if user has disabled showing disliked posts by default)
* More maintainable next/prev post support
2014-02-22 19:40:10 +01:00
Marcin Kurczewski
1baceb5816 Fixed tag pagination on endless scrolling 2014-02-21 20:24:37 +01:00
Marcin Kurczewski
0b6a0337fe Exit confirmation tweaks in post upload
Confirmation is disabled after user removes last file from the upload queue.
It's enabled again whenever user adds something.
2014-02-21 20:24:37 +01:00
Marcin Kurczewski
4b08686393 Added lightbox to post uploads 2014-02-21 20:24:37 +01:00
Marcin Kurczewski
2bac28a553 More capable privilege system
Following privileges for post actions can now understand different settings for
everyone and for uploader:

* Scoring posts
* Featuring posts
* Flagging posts
* Favoriting posts

Additionally, privilege for flagging users can now understand different
settings for everyone and for the user that is currently logged in.

In other words: with this update admin can configure privileges so that scoring
own posts or flagging oneself will be prohibited, while scoring other people's
posts or flagging others will be okay.
2014-02-21 20:24:37 +01:00
Marcin Kurczewski
28037af029 Registered users can mass tag their own posts 2014-02-21 20:24:37 +01:00
Marcin Kurczewski
4420fa588d Post list errors are shown in nicer way 2014-02-21 20:24:37 +01:00
Marcin Kurczewski
db8e13ec35 Merging and renaming tags yields status messages
Previously, it just redirected back to tag list without any kind of
notification about success.
2014-02-21 20:24:37 +01:00
Marcin Kurczewski
1624fd5f63 Tag and user list: a-z order is case insensitive 2014-02-21 20:24:06 +01:00
Marcin Kurczewski
705e3dfba1 Changed LOWER(?) to ? COLLATE NOCASE 2014-02-20 21:32:07 +01:00
Marcin Kurczewski
dd498cf18d Fixed ban and unban confirmation messages 2014-02-20 21:32:07 +01:00
Marcin Kurczewski
ddbecdb16f Fixed problems with multiple event handlers
Whenever DOM update event handlers were executed, jQuery bindings were appended
instead of being replaced. It resulted in funny scenarios like starting to show
multiple confirmation dialogs when trying to delete a post, after
adding/removing it from favorites.
2014-02-20 21:32:07 +01:00
Marcin Kurczewski
b879a7c38b Fixed problem with comment edit links 2014-02-20 21:32:07 +01:00
Marcin Kurczewski
38771eb7be Small layout fixes 2014-02-20 21:32:03 +01:00
Marcin Kurczewski
b86aaf90a3 Fixed and simplified tag autocompletion 2014-02-18 21:26:54 +01:00
Marcin Kurczewski
4469767d8f Removed console.log 2014-02-18 21:14:52 +01:00
Marcin Kurczewski
43a33e579d Tweaks to unit converter 2014-02-18 18:35:58 +01:00
Marcin Kurczewski
2bad17ebdb Fixed extension in saved posts 2014-02-18 18:35:58 +01:00
Marcin Kurczewski
1352aba438 Fixed saving post original file name to DB 2014-02-18 18:35:58 +01:00
Marcin Kurczewski
eee6421775 Post editing: quasi-popup in place of sliding unit 2014-02-18 18:35:55 +01:00
Marcin Kurczewski
65c6caa13c Freshened up sidebar 2014-02-18 16:41:36 +01:00
Marcin Kurczewski
e7a0fdae26 Fixed exit confirmation message on Chrome 2014-02-16 20:10:38 +01:00
Marcin Kurczewski
f3a5de67e7 GUI colors are consistent 2014-02-16 20:10:38 +01:00
Marcin Kurczewski
532fe9f7e6 Added pagination to tag list 2014-02-16 20:10:38 +01:00
Marcin Kurczewski
18bfd6605d Searching: more robust entity counting 2014-02-16 20:10:38 +01:00
Marcin Kurczewski
0c5fc7e03f Fixed useless arguments 2014-02-16 20:10:38 +01:00
Marcin Kurczewski
3e99a6336c Form CSS overhaul 2014-02-16 20:10:34 +01:00
Marcin Kurczewski
80b9542c2d Removed borders for sidebar units 2014-02-16 20:00:29 +01:00
Marcin Kurczewski
4a69084a8b Upload no longer uses tabs 2014-02-16 20:00:26 +01:00