Marcin Kurczewski
5d9513bac0
Modified post path management
2014-05-13 00:01:28 +02:00
Marcin Kurczewski
5514ed4fd6
Fixed exception throw in UserModel
2014-05-12 23:04:35 +02:00
Marcin Kurczewski
b8bb2c865e
Moved setRelationsFromText logic to controller
2014-05-12 22:39:14 +02:00
Marcin Kurczewski
4395087a7c
Fixed confirming user registration by staff
2014-05-12 20:10:19 +02:00
Marcin Kurczewski
d8808df091
Fixed canEditAnything method in EditUserJob
2014-05-12 19:39:58 +02:00
Marcin Kurczewski
3cd07a38ca
Fixed password reminder
2014-05-12 19:30:16 +02:00
Marcin Kurczewski
a89eb97c9d
Added protection against 2 users having same mail
2014-05-12 19:17:53 +02:00
Marcin Kurczewski
96ebd2c89f
Fixed entity retrievers
2014-05-12 19:00:04 +02:00
Marcin Kurczewski
3596a8cdc7
Fixed tag renaming
2014-05-12 18:30:31 +02:00
Marcin Kurczewski
8e465720bc
Fixed mass tag and tag renaming
2014-05-12 18:00:24 +02:00
Marcin Kurczewski
098f11bd09
Increased API readability
...
- Removed Abstract*Job hierarchy
- Introduced EntityRetrievers
- Introduced JobPager
- Moved files around
2014-05-12 18:00:24 +02:00
Marcin Kurczewski
484adbbf49
Added argument checking system
2014-05-12 15:15:50 +02:00
Marcin Kurczewski
0e6ed74682
Fixed post safety user settings
2014-05-12 15:15:50 +02:00
Marcin Kurczewski
c377ac8216
Removed unused classes
2014-05-12 14:47:44 +02:00
Marcin Kurczewski
6f6ce2ad24
Removed unused method
2014-05-12 14:47:44 +02:00
Marcin Kurczewski
20ad5da89a
Fixed mass tag redirect
2014-05-12 00:22:02 +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
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
6b40d6be7e
Fixed assert error message; added new method
2014-05-11 23:39:00 +02:00
Marcin Kurczewski
72821157dd
Fixed most used tag retrieving
2014-05-11 21:57:41 +02:00
Marcin Kurczewski
9cc8d03376
Finished token validation
2014-05-09 21:29:16 +02:00
Marcin Kurczewski
9882e84aa6
Finished user validation; increased readability
2014-05-09 21:23:54 +02:00
Marcin Kurczewski
26e27e3339
Ban job returns user
2014-05-09 21:08:34 +02:00
Marcin Kurczewski
39f49fc539
Fixed post score validation
2014-05-09 21:08:34 +02:00
Marcin Kurczewski
343268d029
Improved model performance a little bit
2014-05-09 21:08:33 +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
acf8cf28e8
Made anonymous upload parameter optional
2014-05-08 08:54:48 +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
c4bcc4b85b
Continued work on getter/setters: post names
2014-05-07 21:30:37 +02:00
Marcin Kurczewski
878079030d
Continued work on getter/setters: post uploaders
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
329f6a0259
Fixed account activation links
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
323138bd98
Fixed issues with logging
...
- Fixed log file name template
- Fixed buffering changes when running add/edit jobs in batch
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
e152c9baca
Fixed multiple problems with user jobs
2014-05-07 21:30:37 +02:00
Marcin Kurczewski
ea87bab896
Fixed comment preview
2014-05-07 17:58:24 +02:00
Marcin Kurczewski
410237d678
Better privilege checking for batch operations
2014-05-07 17:58:23 +02:00
Marcin Kurczewski
cd437ca036
Fixed move_uploaded_file bullshit
2014-05-07 17:58:23 +02:00
Marcin Kurczewski
42b8049ae5
Fixed privileges in user view
2014-05-07 17:58:23 +02:00
Marcin Kurczewski
e610963d4b
Fixed post scoring privileges
2014-05-07 17:58:23 +02:00
Marcin Kurczewski
0ea81b8f69
Added single argument setter to jobs
2014-05-07 17:58:23 +02:00
Marcin Kurczewski
875eeaf4d4
Fixed privileges for some user jobs in API
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
431d881962
Added data cleanup after each test run
2014-05-07 17:58:23 +02:00
Marcin Kurczewski
1600589793
Moved max post source length to config
2014-05-07 17:58:23 +02:00
Marcin Kurczewski
b7a42d9f6a
Fixed privileges for some jobs
2014-05-07 17:58:23 +02:00
Marcin Kurczewski
26f2c46e5b
More restrictive privilege system
2014-05-07 17:58:23 +02:00
Marcin Kurczewski
04481122ce
Improved test environment sandboxing
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
9ad1507b53
Fixed backticks in PostSearchParser
2014-05-05 18:03:54 +02:00
Marcin Kurczewski
8c3feaeccf
Unit tests for comments; fixed anonymous comments
2014-05-05 18:03:17 +02:00
Marcin Kurczewski
76d544572c
Made database retrieval conscious about data types
2014-05-05 18:02:37 +02:00
Marcin Kurczewski
a74b133cfc
Moved security disabling from Api to Access
2014-05-05 17:47:31 +02:00
Marcin Kurczewski
f254e7bb1e
Logger path accepts simple templates
2014-05-05 17:47:31 +02:00
Marcin Kurczewski
c64d97fae6
Added return values for models::save
2014-05-05 17:47:30 +02:00
Marcin Kurczewski
05a3cf927b
Moved validation to entities
2014-05-05 17:47:30 +02:00
Marcin Kurczewski
097deb52bd
Fixed decrypting text with trailing whitespace
2014-05-05 17:47:30 +02:00
Marcin Kurczewski
7784be1838
Fixed login when mail activation is enabled
2014-05-05 17:47:30 +02:00
Marcin Kurczewski
505d08bb08
Added unit test system
2014-05-05 17:47:30 +02:00
Marcin Kurczewski
b885411b2e
Encapsulated a few entity getters and setters
2014-05-05 17:47:30 +02:00
Marcin Kurczewski
ee757f1149
Renamed LogHelper to Logger
2014-05-05 17:47:30 +02:00
Marcin Kurczewski
cde25c8a64
Removed obsolete code
2014-05-05 17:47:30 +02:00
Marcin Kurczewski
d3beb8bc53
Implemented new enums
2014-05-05 17:47:30 +02:00
Marcin Kurczewski
977989ffed
Added one-time save to posts/users adding/editing
2014-05-05 17:47:30 +02:00
Marcin Kurczewski
b02c55e52c
Fixed post uploading
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
47f7ff3490
Moved account activation and password reset to API
2014-05-04 18:32:58 +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
4c66ca2b01
Fixed displaying login errors
2014-05-04 15:11:58 +02:00
Marcin Kurczewski
b0bbdde112
Moved user account settings to API
2014-05-04 15:11:58 +02:00
Marcin Kurczewski
816859c3e3
Moved user retrieval to API
2014-05-04 13:43:52 +02:00
Marcin Kurczewski
9e2e3ceb7f
Simplified views in UserController
2014-05-04 12:12:06 +02:00
Marcin Kurczewski
8b44a248cc
Moved user account removal to API
2014-05-04 10:57:12 +02:00
Marcin Kurczewski
48e274234e
Moved user registration accepting to API
2014-05-04 10:47:56 +02:00
Marcin Kurczewski
243f22542d
Moved user listing to API
2014-05-04 10:32:32 +02:00
Marcin Kurczewski
f74213bafb
Reduced boilerplate by using default privileges
2014-05-04 10:24:59 +02:00
Marcin Kurczewski
588efcb908
Moved user (un)banning to API
2014-05-04 10:16:05 +02:00
Marcin Kurczewski
c86854dcb1
Moved user flagging to API
2014-05-04 10:15:29 +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
70f187c431
Moved listing tag relations to API
2014-05-04 09:48:51 +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
26323f996b
Moved tag autocompleting to API
2014-05-04 09:45:41 +02:00
Marcin Kurczewski
1787604ac1
Fixed filtering logs
2014-05-04 09:12:23 +02:00
Marcin Kurczewski
923207fdfa
Organized common paging code into abstraction
2014-05-04 09:11:39 +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
3d6564f7a8
Fixed erroreous redirects
2014-05-03 23:27:00 +02:00
Marcin Kurczewski
0b058565ba
Fixed activation, password reset and registration
2014-05-03 23:23:13 +02:00
Marcin Kurczewski
c3a20ad721
Added unused tag purging in post tag edit jobs
2014-05-03 22:53:55 +02:00
Marcin Kurczewski
425517f0ae
Rearranged class and file names
2014-05-03 22:18:41 +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
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
e857032a73
Made logout redirect to last visted page
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
c0a7fe5209
Moved comment listing to API
2014-05-03 19:25:59 +02:00
Marcin Kurczewski
6a28be5e3e
Moved comment removal to API
2014-05-03 19:25:59 +02:00
Marcin Kurczewski
0ad39c241e
Fixed start time placement
2014-05-02 13:51:20 +02:00
Marcin Kurczewski
16c5d6961b
More robust argument handling
2014-05-02 09:51:34 +02:00
Marcin Kurczewski
3cdaa85511
Added subprivilege authentication
2014-05-02 09:42:03 +02:00
Marcin Kurczewski
334cca8197
Changed default access rank from admin to none
2014-05-02 08:14:16 +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
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
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
f495774be4
New exception style; split long lines in php
2014-04-27 16:01:45 +02:00
Marcin Kurczewski
cc51d943e2
Fixed CBC encryption - added IV to cookie
2014-04-21 09:31:59 +02:00
Marcin Kurczewski
f1bc9c18b9
Fixed retrieving display string from enums
2014-04-21 00:17:16 +02:00
Marcin Kurczewski
1ec5161faf
Fixed post showing on MySQL driver
2014-04-21 00:16:14 +02:00
Marcin Kurczewski
4847448a26
Little fixes for small layouts
2014-04-20 11:39:26 +02:00
Marcin Kurczewski
70f55f65b4
Revived MySQL support
2014-04-16 13:05:24 +02:00
Marcin Kurczewski
ccf7464d6f
Changed ECB to CBC
2014-04-12 17:04:32 +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
78d0b07c5c
Version upgrade (0.7.1)
2014-03-13 20:53:17 +01:00