Commit graph

177 commits

Author SHA1 Message Date
Marcin Kurczewski
bba35875a3 Added HTTP status codes to exception interceptors 2014-05-20 23:01:10 +02:00
Marcin Kurczewski
e12308d3cc Changed thumb to thumbnail for consistency 2014-05-20 23:00:24 +02:00
Marcin Kurczewski
7609cbcccf Merged mass tag and post list redirection 2014-05-19 09:24:15 +02:00
Marcin Kurczewski
79f9ab9950 Fixed double (and sometimes triple) slash in URLs 2014-05-18 21:59:57 +02:00
Marcin Kurczewski
e95b8d93d8 Simplified view management 2014-05-18 21:59:56 +02:00
Marcin Kurczewski
5f246d7a51 Improved support for no Javascript 2014-05-18 21:32:47 +02:00
Marcin Kurczewski
e84f8096bd Removed legacy functions 2014-05-17 00:02:01 +02:00
Marcin Kurczewski
c7250ae0a9 Improved thumbnail generating
- Moved thumbs folder to public_html/
- Users can supply custom thumbs of any size and the system will treat
  them like normal image
- Removed distinction between various thumb sizes in file system
- Introduced custom rewrite rule, which isn't exactly good-looking, but
  its benefits far outweigh its shortcomings
- Loading up to 75 times faster (was: 100-300ms, is: 4-10ms on my
  machine) thanks to removal of PHP proxying
2014-05-14 23:44:48 +02:00
Marcin Kurczewski
b8bb2c865e Moved setRelationsFromText logic to controller 2014-05-12 22:39:14 +02:00
Marcin Kurczewski
4ba83e6834 Changed job arguments convention back
Restored JobArgs approach. Previous introduction of hierarchic argument
definitions has backfired: it was confusing what class to take arguments
from, the concept of sharing arguments between different jobs was
unintelligible and one never knew where given argument was actually
defined.

This appraoch makes it easier to maintain the arguments list and
simplifies the code a lot.
2014-05-12 00:13:18 +02:00
Marcin Kurczewski
8ee80ea170 Continued work on getter/setters: post cached keys 2014-05-09 20:29:14 +02:00
Marcin Kurczewski
a14afd8e27 Improved names of entity retrieval methods 2014-05-08 08:54:53 +02:00
Marcin Kurczewski
e4ee4589a8 Fixed/refactored tag validation 2014-05-08 08:54:53 +02:00
Marcin Kurczewski
cd437ca036 Fixed move_uploaded_file bullshit 2014-05-07 17:58:23 +02:00
Marcin Kurczewski
c005da2e6d Refactored post content edit jobs; added unit test 2014-05-07 17:58:23 +02:00
Marcin Kurczewski
b885411b2e Encapsulated a few entity getters and setters 2014-05-05 17:47:30 +02:00
Marcin Kurczewski
67e4272f3e Changes to privilege system 2014-05-05 17:47:30 +02:00
Marcin Kurczewski
ebfa0a71aa Removed obsolete method call
(Removed code is already executed in tag editing jobs.)
2014-05-04 09:45:41 +02:00
Marcin Kurczewski
923207fdfa Organized common paging code into abstraction 2014-05-04 09:11:39 +02:00
Marcin Kurczewski
259eabfaaa Merged branch 'master' into api 2014-05-03 23:29:16 +02:00
Marcin Kurczewski
3d6564f7a8 Fixed erroreous redirects 2014-05-03 23:27:00 +02:00
Marcin Kurczewski
758f5bd134 Moved post content and thumbnail retrieval to API 2014-05-03 22:14:00 +02:00
Marcin Kurczewski
9f4d97aa23 Moved post retrieval to API 2014-05-03 20:34:07 +02:00
Marcin Kurczewski
cebff0ef4e Moved post featuring to API 2014-05-03 19:53:33 +02:00
Marcin Kurczewski
ee79e1753e Moved post scoring to API 2014-05-03 19:53:20 +02:00
Marcin Kurczewski
2eaab49d35 Moved post (un)favoriting to API 2014-05-03 19:53:19 +02:00
Marcin Kurczewski
db8eab1c5c Moved post removal to API 2014-05-03 19:53:03 +02:00
Marcin Kurczewski
38a9e154f8 Moved post un/hiding to API 2014-05-03 19:52:39 +02:00
Marcin Kurczewski
c0dce6775e Moved post flagging to API 2014-05-03 19:26:00 +02:00
Marcin Kurczewski
b2b7064ff0 Moved post editing to API 2014-05-03 19:26:00 +02:00
Marcin Kurczewski
6ae4cea8bb Moved post upload to API 2014-05-03 19:26:00 +02:00
Marcin Kurczewski
f383a5ed21 Moved JobArgs to Jobs
Reason: trying to make unique string for every possible argument in
global fashion is difficult. For example it would make sense for
EditPostRelationsJob to accept argument named "post-ids", but it
wouldn't make much sense for AddPostJob to accept "post-ids" since it
doesn't tell much. Thus, common arguments are going to be defined in
top-level AbstractJob for ease of control, while more job-specific
arguments are going to be specified in respective job implementations.
2014-05-03 19:25:59 +02:00
Marcin Kurczewski
162b131435 Moved tag toggling to API 2014-05-03 19:25:59 +02:00
Marcin Kurczewski
ffeefd06c6 Moved post listing to API 2014-05-03 19:25:59 +02:00
Marcin Kurczewski
feec48ed83 AJAX doesn't rely on StatusHelper
Since the purpose that StatusHelper was mainly created for no longer
holds, it was simplified to Messenger. It is now is used to transport
simple messages to views and still transports info whether the message
is about success or failure.
2014-05-01 23:34:44 +02:00
Marcin Kurczewski
925fccbd17 Moved authentication check to Access 2014-05-01 22:11:05 +02:00
Marcin Kurczewski
0a7fc387ac Simplified auth 2014-05-01 22:11:05 +02:00
Marcin Kurczewski
e673bdb50c Fixed privilege checking 2014-05-01 16:06:38 +02:00
Marcin Kurczewski
d08c15b9e7 Refactor to thumbnail generating 2014-04-30 09:54:04 +02:00
Marcin Kurczewski
c52531e8fc Increasing readability 2014-04-30 08:08:24 +02:00
Marcin Kurczewski
c18c9ec680 Lines wrapped again 2014-04-30 00:11:53 +02:00
Marcin Kurczewski
396ea97cad PrivilegesHelper shortened to Access
Methods are shorter, too
2014-04-29 23:53:47 +02:00
Marcin Kurczewski
81e43286b5 Newest chibi-core 2014-04-29 21:35:29 +02:00
Marcin Kurczewski
f495774be4 New exception style; split long lines in php 2014-04-27 16:01:45 +02:00
Marcin Kurczewski
d6f02fb724 Added "upvoted" tab 2014-03-03 21:56:10 +01:00
Marcin Kurczewski
34b9a80ba7 Moved Sql and Database.php to remote project 2014-02-28 20:44:35 +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
5827626deb Search services refactor
Code rerlated to search query parsing moved to separate classes.
2014-02-23 22:03:59 +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
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