Commit graph

251 commits

Author SHA1 Message Date
Marcin Kurczewski
484adbbf49 Added argument checking system 2014-05-12 15:15:50 +02:00
Marcin Kurczewski
8aa499a0b9 Fixed automatic featuring post
- Fixed main page view
- Code moved from StaticPagesController to PostModel
- Code split into semantically meaningful methods
- Allowed anonymous featuring through API
- Added protection against automatic featuring of hidden post
2014-05-11 23:43:35 +02:00
Marcin Kurczewski
8ee80ea170 Continued work on getter/setters: post cached keys 2014-05-09 20:29:14 +02:00
Marcin Kurczewski
20ee47e596 Continued work on getter/setters: staff confirm 2014-05-07 21:30:38 +02:00
Marcin Kurczewski
16942d9d19 Continued work on getter/setters: timestamps 2014-05-07 21:30:37 +02:00
Marcin Kurczewski
a619662585 Continued work on getter/setters: post file stats 2014-05-07 21:30:37 +02:00
Marcin Kurczewski
8d8e92b84e Continued work on getter/setters: post visibility 2014-05-07 21:30:37 +02:00
Marcin Kurczewski
75704ef0da Continued work on getter/setters: post dimensions 2014-05-07 21:30:37 +02:00
Marcin Kurczewski
509bf44619 Continued work on getter/setters: post sources 2014-05-07 21:30:37 +02:00
Marcin Kurczewski
1bbba5de3c Fixed displaying errors in registration page 2014-05-07 21:30:37 +02:00
Marcin Kurczewski
404bd979f4 Fixed issues with confirmation e-mails 2014-05-07 21:30:37 +02:00
Marcin Kurczewski
410237d678 Better privilege checking for batch operations 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
eebb862332 Fixed hardcoded post permalink syntax 2014-05-07 17:58:23 +02:00
Marcin Kurczewski
8009c16f0c Refactored comment model, fixed anonymous previews 2014-05-07 17:58:22 +02:00
Marcin Kurczewski
7df8a6fa3b Continued work on getter/setters: entity IDs 2014-05-07 17:58:18 +02:00
Marcin Kurczewski
b885411b2e Encapsulated a few entity getters and setters 2014-05-05 17:47:30 +02:00
Marcin Kurczewski
d3beb8bc53 Implemented new enums 2014-05-05 17:47:30 +02:00
Marcin Kurczewski
458aac971d Removed trash HTML 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
893e841a87 Organized password reset and account activation 2014-05-04 18:32:57 +02:00
Marcin Kurczewski
83239a492d Moved account registering to API 2014-05-04 18:32:57 +02:00
Marcin Kurczewski
9e2e3ceb7f Simplified views in UserController 2014-05-04 12:12:06 +02:00
Marcin Kurczewski
243f22542d Moved user listing to API 2014-05-04 10:32:32 +02:00
Marcin Kurczewski
d2319465c1 Moved tag merging to API 2014-05-04 10:03:21 +02:00
Marcin Kurczewski
5d2c5a2053 Moved tag renaming to API 2014-05-04 10:03:03 +02:00
Marcin Kurczewski
5c003588fa Made tag retrieval use entity conversion again
Previously engine used raw database rows for performance boost. The
benefits were negligibly small, therefore it was changed so that it
returns full entities again. That way serializing job return values
for HTTP API should be easier in the future.
2014-05-04 09:48:51 +02:00
Marcin Kurczewski
97c17c68a0 Moved tag listing to API 2014-05-04 08:42:18 +02:00
Marcin Kurczewski
259eabfaaa Merged branch 'master' into api 2014-05-03 23:29:16 +02:00
Marcin Kurczewski
0b058565ba Fixed activation, password reset and registration 2014-05-03 23:23:13 +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
6ae4cea8bb Moved post upload to API 2014-05-03 19:26:00 +02:00
Marcin Kurczewski
7c1b8ca4d5 Renamed LogController methods and moved to API 2014-05-03 19:25:59 +02:00
Marcin Kurczewski
aeb73e2a5c Renamed IndexController class and methods 2014-05-03 19:25:59 +02:00
Marcin Kurczewski
8b8564309d Split login method into View and Action 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
902aed7278 Introducing API
Right now there's a lot of messy code in controllers. Furthermore, there
is no way to interact with szurubooru via vanilla HTTP, since API is
next to non-existent. So, basing upon my experiences from another
project, I plan to:

- Create actual API. It is going to consist of well-defined "jobs" that
  do things currently done by controllers. Benefits of such approach are
  as follows:
  - defining them in their own classes allows to clean up code a lot,
  - it allows to abstract from input method (POST data, part of URL,
	whatever), and leave processing of these to controllers,
  - it allows to make proxy controller, whose purpose would be to let
	users interact with API (jobs) directly in well-documented and
	consistent way.
- Make controllers responsible only for mediating between views and API.
  Behavior of these may remain inconsistent, since views they're talking
  to are also messy to begin with. Such controllers might be removed
  altogether in the future in favor of making views talk to API directly
  through previously mentioned ApiController.
- Organize all sorts of privilege checking and possibly other stuff into
  methods within jobs.
- Actually distinguish POST from GET requests.
- Leave POST-only controller methods as Actions, but rename GET-only
  methods to Views. Example: editAction for editing comments, but
  listView for showing comment list. The choice of these suffixes might
  be subject to changes in future.
- Get rid of ?json and $context->transport. They now look like disease
  to me.

This commit introduces job system and converts CommentController to use
the new API.
2014-05-01 23:35:05 +02:00
Marcin Kurczewski
0a7fc387ac Simplified auth 2014-05-01 22:11:05 +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
da1f5d8ab2 Split long lines in views 2014-04-27 16:01:50 +02:00
Marcin Kurczewski
60208407ea Shorthand php echo 2014-04-27 16:01:50 +02:00
Marcin Kurczewski
4847448a26 Little fixes for small layouts 2014-04-20 11:39:26 +02:00
Marcin Kurczewski
2b33bf44d2 Text case conversion moved to gist 2014-04-12 16:25:07 +02:00
Marcin Kurczewski
d3e135ea15 Enhanced support for new video posts (closed #75) 2014-04-09 14:19:51 +02:00
Marcin Kurczewski
74b2f935c3 Fixed video dimensions 2014-04-08 17:09:13 +02:00
Marcin Kurczewski
af1828a9e8 Added HTML5 video support (closed #75) 2014-04-08 16:54:36 +02:00
Marcin Kurczewski
f7837dc190 Fixed word wrapping in registration form 2014-03-05 15:22:36 +01:00